我很难用Ninject V2的InRequestScope()来管理UnitOfWork。
_kernel.Bind<UnitOfWork>().To<SqlUnitOfWork>().InRequestScope();
我希望每当我通过容器请求UnitOfWork时,总是在整个请求中返回相同的对象。但是,在调试器中,我在对象的构造函数上有一个断点,每当向容器发出请求时,构造函数就会像创建一个新对象一样触发。
var uow = CreateKernel().Get<UnitOfWork>();
有没有人有类似的经历,或者我错过了一些关键的东西?
答案 0 :(得分:1)
如果其他人遇到此问题我的问题与global.asax文件有关。我手动将CreateKernal的结果存储在私有变量中。更改为通过基本NinjectHttpApplication类的Kernal属性访问请求的已创建的内核,对问题进行了排序。