Unity.Mvc与Unity.Mvc5的区别

问题描述 投票:3回答:2

我刚开始学习ASP.NET MVC 5,并发现了很多关于使用Unity ioc容器进行依赖注入的教程。

我按照这个伟大的视频开始:https://www.youtube.com/watch?v=E7Voso411Vs

在寻找要安装的软件包时,我看到:

enter image description here

我从2014年10月发现了this教程,展示了如何使用Unity.Mvc框架。所需要的只是:

  1. 添加包(自动将UnityConfig.csUnityMvcActivator.cs添加到App_Start。
  2. 创建接口(例如IUnitySample)和实现
  3. HomeController添加构造函数,例如将IUnitySample作为参数。
  4. 最后,在方法RegisterTypes中添加UnityConfig.cs寄存器语句:container.RegisterType<IUnitySample, UnitySample>();

无需在Application_Start方法中添加任何内容。

这看起来非常简单并且可行,但是从我阅读的更新的教程中可以看出,人们使用的是Unity.Mvc5软件包,而不是Unity.Mvc。

我应该用什么来学习ASP.NET MVC 5?它们之间有什么区别?这个比那个好吗?

c# model-view-controller asp.net-mvc-5 unity-container ioc-container
2个回答
3
投票

Unity.Mvc5Unity.Mvc由两个不同的组织创建,具有不同的实现。

Unity.Mvc5为每个Web请求创建一个子容器。这适用于内置的HierarchicalLifetimeManager

Unity.Mvc不会创建子容器,而是选择创建一个名为PerRequestLifetimeManager的新LifetimeManager。


0
投票

就个人而言,我认为Unity.Mvc是其统计数据的更好选择(例如:总下载量),因为它在“版本历史记录”中显示更高的更新频率。因此似乎更加遵循。

© www.soinside.com 2019 - 2024. All rights reserved.