Unity中的ASP.NET MVC3依赖注入 - UnityDependencyResolver与IControllerFactory

时间:2012-02-06 21:56:39

标签: asp.net-mvc-3 dependency-injection unity-container

上下文:在(C#)ASP.NET MVC3框架中使用Unity。

Mark Seemann建议“在ASP.NET MVC应用程序中,它是global.asax和自定义IControllerFactory” - (Source)。

我已阅读其他可靠消息来源建议使用UnityDependencyResolver(MSDNAdam TuliperDarin Dimitrov)。

Darin也暗示这两者是相互排斥的。

哪种方式是最佳做法?

1 个答案:

答案 0 :(得分:4)

MVC 3引入了一种处理依赖注入的新方法,称为IDependencyResolver。在MVC 3之前的MVC中,您将使用IControllerFactory。在MVC 3中,您将使用UnityDependencyResolver。

UnityDependencyResolver是IDependencyResovler接口的实现。这样就可以将Unity集成到.net中,而无需编写自定义的IControllerFactory。

它们是互斥的,因为如果你使用它,你将不会使用另一个。