2016-03-26 3 views
1

Ich versuche, das Service Locator Anti Pattern zu entfernen, das standardmäßig mit einem neuen MVC5-Projekt geliefert wird. Ich versuche, DI stattdessen mit Ninject zu implementieren. Ich bin auf den folgenden Leitfaden gekommen, der für die Einheitlichkeit und nicht für eine MVC5-Anwendung gedacht ist.MVC5-Identität mit DI (Entfernen von Service Locator Anti-Pattern)

http://tech.trailmax.info/2014/09/aspnet-identity-and-ioc-container-registration/

Von dem, was ich sagen kann, ist es nicht zu viel Unterschied im Code zwischen diesem Artikel und einer neuen MVC5 Anwendung. Aber es gibt eine Sache, bei der ich nicht weiß, was ich damit anfangen soll.

Im Artikel I oben angegebenen existiert die folgende Methode

private static void RegisterTypes(IUnityContainer container) 
{ 
    container.RegisterType<ApplicationDbContext>(); 
    container.RegisterType<ApplicationSignInManager>(); 
    container.RegisterType<ApplicationUserManager>(); 
} 

Ich versuche zu verstehen, was dieser Behälter ist und was ich meine Klassen in MVC5 registrieren. Muss ich meine Klassen zunächst in einem Container registrieren? Ich lerne immer noch hier und ich bin ziemlich neu in MVC5 und Identity, daher wird jede Hilfe sehr geschätzt.

Antwort

0

Der Container enthält Konfigurationseinstellungen für jede Abstraktion und ihre Implementierung. Die container wird verwendet, um Abhängigkeiten zu erstellen und sie bei Bedarf automatisch zu injizieren. Wann immer eine Instanz einer Abstraktion benötigt wird, stellt der Container dies dem Anforderer zur Verfügung. Es erstellt automatisch Objekte auf Anforderung und injiziert sie bei Bedarf. Der Container hilft, Abhängigkeiten in der Anwendung auf einfache und einfache Weise zu verwalten.