Ich verwende Einheit, um Dependency Injection in meiner .NET Web API-App zu implementieren. ist die relevent Teil meiner WebApiCongigSo registrieren Sie Abhängigkeiten nach Namen in Unity
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
var container = new UnityContainer();
AppDependancyRegistry.Register(container);
config.DependencyResolver = new UnityResolver(container);
}
}
Und hier meine AppDependancyRegistry Klasse ist
public static class AppDependancyRegistry
{
public static void Register(UnityContainer container)
{
container.RegisterType(typeof(IBaseRepository<>), typeof(BaseRepository<>));
//container.RegisterTypes(AllClasses.FromLoadedAssemblies(), WithMappings.FromMatchingInterface, WithName.Default);
}
}
ich die Allgemein Repositores zugeordnet haben, aber ich konnte nicht mit der Registrierung der Manager-Klassen an seinen Schnittstellen durchkommen. Ich möchte nicht alle Manager-Klassen manuell zuordnen.
Ich habe den Teil kommentiert, den ich aus der ganzen Forschung gemacht habe. Ich möchte nur eine Bestätigung, das ist, wie ich es tun, wie ich jetzt meine App läuft, ohne dabei einige mehr Sachen
Meine Klassen-Manager erhalten kann nicht: Schnittstellen sieht aus wie
DutyManager: IDutyManager
UserDetailManager:IUserDetailManager
usw. Vielen Dank im Voraus
* Ich möchte nicht Manaually jeder von Manager-Klassen zur Karte * - warum nicht? –
Mehr Arbeit .. ist schlecht. ist mein Konzept. Lernen Sie einmal ist gut –
Sie können alle Implementierungen einer einzigen Schnittstelle Bulk registrieren, aber nicht mehrere Schnittstellen ist mein Verständnis. Zumindest in Castle, Ninject, Strukturkarte und Tinyioc. Ich habe keine Einheit benutzt. –