Ich habe ein kleines Missverständnis: Wenn wir IDependencyResolver implementieren, bedeutet das, dass wir DI für jedes Teil im Projekt verwenden können. Also, selbst wenn ich nicht von DefaultControllerFactory erben, kann ich Controller erstellen Abhängigkeiten neu zu erstellen?
Bearbeitungen: Ich empfehle, alle diese zu lesen Brad Wilsons Beiträge auch dieser Beitrag ist nützlich
Pedant Note zuerst. Sie können nicht von einer Schnittstelle erben (IDependencyResolver), aber ich nehme an, Sie meinen implementieren.
Kurz gesagt, Sie haben die Wahl zwischen beiden, Sie würden nicht beide verwenden. Wenn Sie den Resolver eingerichtet haben, brauchen Sie keine Controller-Fabrik und umgekehrt.
Ich habe DefaultControllerFactory nur in mvc mit castle-windsor verwendet. Sie müssen bei der Verwendung von IDependencyResolver vorsichtig sein, wenn Sie auch Castle-Windsor verwenden, es gibt keine Freigabemethode , aber dafür gibt es wahrscheinlich Möglichkeiten.
Mit anderen Frameworks wie ninject oder Einheit IDependencyResolver ist manchmal vorzuziehen.
Tags und Links asp.net-mvc asp.net-mvc-3 dependency-injection inversion-of-control