如果没有使用OnePerRequestModule,Ninject中InRequestScope的默认回退是什么?

时间:2012-10-29 15:43:16

标签: ninject

我正在为控制台应用程序和MVC Web应用程序使用相同的DAL基础架构,我需要在MVC Web应用程序中为InRequestScope配置内容但需要知道当OnePerRequestModule没有时InRequestScope的默认回退是什么已配置(如我的控制台应用程序中的情况)。

修改 我的Ninject版本是3.0.1.10。

1 个答案:

答案 0 :(得分:2)

阅读Cache and Collect article by Nate Kohari

Ninject的最新版本将OnePerRequestModule分隔为Ninject.Web.Mvc程序集,因此如果不在该上下文中工作,您甚至无法看到InRequestScope扩展程序。

对于控制台应用,通常您不会处理大量请求Dispose d的请求,因此null的默认范围InTransientScope [和不指定范围]和/或允许类的隐式自我注册可能是完全合适的。但总的来说,你最好搞清楚你的​​工作单位是什么,并明确管理需要处置的东西需要处理的事情(因为对象不会受到限制,不会进行处置,只有终结者才会开始[与由Murphy定律决定的时间])。

scoping section of the wiki也值得一读。