我想将DI添加到我的类库中,这是MVC4 Web应用程序的一部分。所以我可以选择Unity,structuremap,ninject。 我选择了Unity,因为它在Asp.Net示例中提到过。
当我搜索Nuget for Unity时,我发现Unity有多种变体。哪一个适合我的库,Unity或Unity.MVC4
答案 0 :(得分:7)
你需要添加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));
答案 1 :(得分:3)
您应该使用NuGet为ASP.NET MVC安装Unity BootStrapper。它由Microsoft创建并使用最新的Unity 3.0。第45页的Developer's Guide to Microsoft Unity也提到了这一点。
我今天尝试了Unity.MVC4。当前的1.2版本仍然使用Unity 2.也许下一个版本将使用新的Unity 3.0。我想两者都应该没问题。
答案 2 :(得分:0)
有没有办法使用unity.mvc4而不是使用
来使用xml配置container.RegisterType<itestservice, testservice="">();
编写类似LoadConfiguration()的代码并将配置添加到web.config?
由于