Sam*_*uel 10 c# ninject ninject-extensions asp.net-mvc-3
最近,我将我的一个MVC3项目从Ninject 2升级到了Ninject 3.
在几分钟后试图找到为什么InRequestScope不再可用,我发现这现在是Ninject.Web.Common的扩展.
现在,当我尝试运行应用程序时,Ninject的工作方式就像所有与范围InRequest绑定的类型都是InTransientScope; 每次都创建一个新实例.
在我继承自NinjectModule的类中,我有一个简单的绑定:
Bind<ViewModel.Activity>().ToSelf().InRequestScope();
Run Code Online (Sandbox Code Playgroud)
在我的控制器中,我有2个标有Ninject属性的ViewModel.Activity类型的属性.
[Inject]
public ViewModel.Activity Activity { get; set; }
[Inject]
public ViewModel.Activity Activity1 { get; set; }
Run Code Online (Sandbox Code Playgroud)
如果我在调试模式中查看两个属性的HashCode的值,那么它们都有不同的值但是HttpContext是相同的; 我在同一个请求中.
我错过了如何使用Ninject 3的新版本正确使用新的Ninject.Web.Common.InRequestScope?
非常感谢你.