我刚开始学习ASP.NET MVC 5,并发现了很多关于使用Unity ioc容器进行依赖注入的教程。
我按照这个伟大的视频开始:https://www.youtube.com/watch?v=E7Voso411Vs
在寻找要安装的软件包时,我看到:
我从2014年10月发现了this教程,展示了如何使用Unity.Mvc框架。所需要的只是:
UnityConfig.cs
和UnityMvcActivator.cs
添加到App_Start。IUnitySample
)和实现HomeController
添加构造函数,例如将IUnitySample
作为参数。UnityConfig.cs
寄存器语句:container.RegisterType<IUnitySample, UnitySample>();
无需在Application_Start
方法中添加任何内容。
这看起来非常简单并且可行,但是从我阅读的更新的教程中可以看出,人们使用的是Unity.Mvc5软件包,而不是Unity.Mvc。
我应该用什么来学习ASP.NET MVC 5?它们之间有什么区别?这个比那个好吗?
Unity.Mvc5和Unity.Mvc由两个不同的组织创建,具有不同的实现。
Unity.Mvc5为每个Web请求创建一个子容器。这适用于内置的HierarchicalLifetimeManager
。
Unity.Mvc不会创建子容器,而是选择创建一个名为PerRequestLifetimeManager
的新LifetimeManager。
就个人而言,我认为Unity.Mvc是其统计数据的更好选择(例如:总下载量),因为它在“版本历史记录”中显示更高的更新频率。因此似乎更加遵循。