unity或unity.mvc4用于mvc4应用程序

本文关键字:unity mvc4 应用程序 用于 | 更新日期: 2023-09-27 18:27:46

我想将DI添加到我的类库中,它是MVC4 web应用程序的一部分。所以我可以选择Unity,structuremap,ninject。我选择统一是因为它在Asp.Net样本中被提及。

当我搜索Nuget寻找Unity时,我发现Unity有多种变体。Unity和Unity哪一个适合我的库。MVC4

unity或unity.mvc4用于mvc4应用程序

您需要添加Unity.MVC4包,因为它提供了Unity和ASP.NET MVC 4之间的集成。然而,Unity.MVC4依赖于Unity,所以通过添加,您将获得两个包。

您还需要这样的东西来配置集成:

var container = new UnityContainer();
// configure container here (RegisterType, etc.), then make sure MVC 4 uses Unity...
DependencyResolver.SetResolver(new Unity.Mvc4.UnityDependencyResolver(container));

您应该使用NuGet为ASP.NET MVC安装Unity BootStrapper。它由微软创建,使用最新的Unity 3.0。微软Unity开发者指南第45页也提到了这一点。

我今天试过Unity.MVC4。目前的1.2版本仍然使用Unity 2。也许下一个版本会使用新的Unity 3.0。我想那两个都应该没事。

有没有一种方法可以将xml配置与unity.mvc4一起使用,而不是使用

container.RegisterType<itestservice, testservice="">();

编写类似LoadConfiguration()的代码并将配置添加到web.config中?

感谢