2017-02-28 1 views
1

Wie Sie mehrere Dienstklassen für Unity Container registrieren? Ich verwende Unity.WebApi; Mein UnityConfig-Code lautet wie folgt:Wie werden mehrere Serviceklassen in Unity Container registriert?

var container = Container.Instance; 

container.RegisterType<ILogger, Log4NetLogger>(); 
container.RegisterType<NHibernateFactory, NHibernateFactory>(); 
container.RegisterType<INhibernateUnitOfWork, NHUnitOfWork>(); 
container.RegisterType<IProductService, ProductService>(); 

container.RegisterType(typeof(IRepository<,>), typeof(NHRepository<,>)); 

GlobalConfiguration.Configuration.DependencyResolver = new UnityDependencyResolver(container); 

Im obigen Code habe ich den Produktservice registriert. So wollte ich so viele Serviceklassen und Interfaces registrieren. Wenn wir dies manuell hinzufügen, müssen wir so viele Zeilen hinzufügen, um diese Klassen zu registrieren.

Gibt es eine Lösung, um dies dynamisch hinzuzufügen?

Antwort

0

für Service-Fall ..

container.RegisterTypes(
AllClasses.FromLoadedAssemblies().Where(t => t.Name.EndsWith("Service")), 
WithMappings.FromMatchingInterface, 
WithName.Default, 
//this is important. Choose the one that suits you 
WithLifetime.Hierarchical); 
Verwandte Themen