使用Unity还是Unity.Mvc4来开发MVC4应用程序?

9

我想在我的类库中添加DI功能,这个类库是MVC4 Web应用程序的一部分。所以我有Unity、StructureMap和Ninject三个选择。

我选择了Unity,因为它在Asp.Net示例中被提到过。

当我在Nuget中搜索Unity时,我发现有多个版本的Unity。哪一个适合我的类库,Unity还是Unity.MVC4?

3个回答

7

您需要添加Unity.MVC4包,它提供了Unity和ASP.NET MVC4之间的集成。但是,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));

3

您应该使用NuGet安装ASP.NET MVC的Unity BootStrapper。它由Microsoft创建并使用最新的Unity 3.0。在Microsoft Unity开发人员指南第45页中也提到了它。

我今天尝试了Unity.MVC4。当前的1.2版本仍使用Unity 2。也许下一个版本将使用新的Unity 3.0。我猜两者都可以接受。


0

有没有一种方法可以在unity.mvc4中使用xml配置而不是使用

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

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

谢谢


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接