我正在为控制台应用程序和MVC Web应用程序使用相同的DAL基础架构,我需要在MVC Web应用程序中为InRequestScope配置内容但需要知道当OnePerRequestModule没有时InRequestScope的默认回退是什么已配置(如我的控制台应用程序中的情况)。
修改 我的Ninject版本是3.0.1.10。
答案 0 :(得分:2)
阅读Cache and Collect article by Nate Kohari。
Ninject的最新版本将OnePerRequestModule
分隔为Ninject.Web.Mvc
程序集,因此如果不在该上下文中工作,您甚至无法看到InRequestScope
扩展程序。
对于控制台应用,通常您不会处理大量请求Dispose
d的请求,因此null
的默认范围InTransientScope
[和不指定范围]和/或允许类的隐式自我注册可能是完全合适的。但总的来说,你最好搞清楚你的工作单位是什么,并明确管理需要处置的东西需要处理的事情(因为对象不会受到限制,不会进行处置,只有终结者才会开始[与由Murphy定律决定的时间])。