我已经安装了 NuGet Unity.MVC4 包http://nuget.org/packages/Unity.Mvc4/并将其连接起来,就像我使用 Unity.MVC3 包时一样。
我的依赖项得到了正确解决,但是在使用 HierarchicalLifetimeManager 时,我的对象的 Dispose() 方法不会在请求结束时调用。
我实际上使用 Unity.MVC3 和 Unity.MVC4 建立了一个简单的项目,两个项目中的 Bootstrapper.cs 代码完全相同。在 MVC3 版本上,调用 Dispose();在 MVC4 版本上,它不是。
我正在注册我的类型
container.RegisterType<ITest, Test>(new HierarchicalLifetimeManager());
有一个非常简单的测试类
public interface ITest
{
void Foo();
}
public class Test : IDisposable, ITest
{
public Test()
{
}
public void Foo()
{
}
public void Dispose()
{
}
}
我不认为我做错了什么,但 Unity.MVC4 包中似乎存在一些错误。
如果有人成功使用了那个包,我很好奇你是怎么让它工作的。