我在我的 ASP.Net MVC3 项目中使用 Ninject (3.0)。在请求处理的某个时刻,我想执行一些任务。
我正在使用每请求会话模式,但不希望这些任务与当前请求共享相同的会话。所以,我想,ChildKernels 可以帮助我解决这个问题。我打算在子内核中为 ISession 创建另一个绑定,但从那开始:
var child = new Ninject.Extensions.ChildKernel.ChildKernel(NinjectMVC3.Kernel);
child.Dispose();
如果我在请求期间执行这样的代码,我会在请求结束时Error loading Ninject component ICache
收到异常(而不是在通话时)。如果我删除一切都很好。.Dispose()
child.Dispose()
那么,我是否选择了正确的方式来使用 ChildKernel?在不明确处置子内核的情况下使用子内核是否安全?如果我处置子内核,为什么 Ninject 在请求端抛出?