我刚刚被 Ninject.Mvc3 NuGet 包弄湿了,我想知道创建的对象能持续多久。
InRequestScope
很容易理解:只要网络服务器正在处理特定的网络请求,在这个范围内创建的每个对象都会存在。(为了迂腐,对象和对象一样长HttpContext.Current
)
但是这些InSingletonScope
物体能持续多久?文档说,只要 Ninject Kernel 本身执行 - 它就包含在NinjectWebCommon
静态类中。到目前为止,我做出的最好的猜测是,只要服务器运行 webapp,内核就会存在——只要服务器启动,直到应用程序在 IIS 中手动重新启动或更新,对象就在范围内。
我很好奇,因为我很想拥有一些包含只读数据字典的数据访问器作为 Singleton Scope,我想知道这是一个好主意,还是计划中的内存泄漏。