我在 MVC4 应用程序中使用 Ninject for DI 和 Ninject.MVC3 扩展,特别是版本 3.0.0.6。
阅读 Ninject wiki 上的文档,似乎使用创建的对象的生命周期InRequestScope
实际上是由 ASP.NET 控制的,并且要正确清理一个应该注册OnePerRequest
HttpModule。
type="Ninject.OnePerRequestModule"/>
但是,由于找不到此文档,该文档似乎已过时。
另一方面,我最近阅读了一些似乎暗示NinjectHttpApplication
已经处理OnePerRequest
.
我的问题是 Ninject.Web.MVC 3.0 是否已经处理了这个问题,或者我是否仍然需要手动将 HttpModule 添加到我的“web.config”中。
我已将以下内容添加到我的配置中,并且一切似乎都在工作,尽管我完全不知道如何测试对象何时被销毁:
<system.web>
<httpModules>
<add name="OnePerRequestModule" type="Ninject.Web.Common.OnePerRequestHttpModule"/>
</httpModules>
...
我需要手动添加OnePerRequest
HttpModule 还是 Ninject.Web.MVC 会为我处理这个?