上下文:在(C#)ASP.NET MVC3框架中使用Unity。
Mark Seemann建议“在ASP.NET MVC应用程序中,它是global.asax和自定义IControllerFactory” - (Source)。
我已阅读其他可靠消息来源建议使用UnityDependencyResolver(MSDN,Adam Tuliper,Darin Dimitrov)。
Darin也暗示这两者是相互排斥的。
哪种方式是最佳做法?
答案 0 :(得分:4)
MVC 3引入了一种处理依赖注入的新方法,称为IDependencyResolver。在MVC 3之前的MVC中,您将使用IControllerFactory。在MVC 3中,您将使用UnityDependencyResolver。
UnityDependencyResolver是IDependencyResovler接口的实现。这样就可以将Unity集成到.net中,而无需编写自定义的IControllerFactory。
它们是互斥的,因为如果你使用它,你将不会使用另一个。