2

我为控制台应用程序和 MVC Web 应用程序使用相同的 DAL 基础结构,我需要在 MVC Web 应用程序中为 InRequestScope 配置一些东西,但需要知道当 OnePerRequestModule 尚未配置时 InRequestScope 的默认回退是什么(就像我的控制台应用程序中的情况一样)。

编辑 我的 Ninject 版本是 3.0.1.10。

4

1 回答 1

2

阅读Nate Kohari 的 Cache and Collect 文章

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

对于控制台应用程序,您通常不会处理大量需要Disposed 来来去去的请求,因此默认范围[nullInTransientScope不是指定范围] 和/或允许类的隐式自我注册可能会导致完全合适。但是一般来说,你最好弄清楚你的工作单元是什么,并在需要处理的东西需要处理时明确管理(因为对象不会被限定范围,不会进行处理,只有终结器会启动 [with墨菲定律规定的时间])。

wiki的范围部分也值得一读。

于 2012-10-29T17:22:13.617 回答