c# - 在 Unity.MVC4 或 Unity(3.0) 中找不到 PerRequestLifetimeManager 类

标签 c# asp.net-mvc-4 unity-container

我正在尝试定位 PerRequestLifetimeManager。在 MSDN 中,it says that it is part of the Unity 3 assembly.

我已经通过 Nuget 安装了 Unity.Mvc4。 package.config 说我正在使用 Unity 3.0:

enter image description here

Microsoft.Practices.Unity.dll 说我正在使用 Unity 3.0

enter image description here

我使用对象浏览器查看了 DLL,找不到 PerRequestLifetimeManager

我是不是漏掉了什么?

如果有人会建议替代类,我打算使用自定义的 PerRequestLifetimeManager 找到 here (如果我找不到类(class))。

编辑:

我卸载了Unity.Mvc4,直接在package console安装了Unity3.0,结果如下:

PM> Install-Package Unity -version 3.0.1304.1
'Unity 3.0.1304.1' already installed.
Successfully added 'Unity 3.0.1304.1' to RedLions.Presentation.Web.

即使在官方库中,我仍然找不到 PerRequestLifetimeManager 类。

最佳答案

当我只是自己回答问题时,似乎不太好回答我自己的问题。我不能再删除我的问题。

无论如何,这是我的解决方案。

我直接去Unity的源代码,我发现这个类确实存在在同一个命名空间中,但不在同一个程序集中。 PerRequestLifetimeManager 位于 Microsoft.Practices.Unity.Mvc

enter image description here

我检查了 MSDN,它确实说它在不同的 DLL 中,但我没有注意到。对此感到抱歉。

它不是 nuget 中 Unity 包的一部分,而是在 Nuget (Unity.Mvc) 中的另一个包中,所以这里是:http://www.nuget.org/packages/Unity.Mvc/

我决定转储 Unity.Mvc4,因为不再需要它,一切都已经在 Unity.Mvc 中了。 (App_Start/UnityConfig.cs)

关于c# - 在 Unity.MVC4 或 Unity(3.0) 中找不到 PerRequestLifetimeManager 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20768406/

相关文章:

c# - 'System.OutOfMemoryException' : Error creating window handle

c# - DWORD 应该映射到 int 还是 uint?

c# - 使用 Ajax Beginform 加载不同的局部 View

c# - 解析同一接口(interface)的两个实例

c# - Unity 记录静态方法 AOP 风格或无接口(interface)

c# - 如何在 ASP.NET MVC 中选择数据访问方法?

javascript - 为客户端更新更新 View 的模型或数据表?

jquery - 渐进式下载

asp.net-mvc - 使用 MVC 的 Unity 2.0 Web.config 设置

c# - 从 observableArray 中删除元素