0

我很难使用 Ninject V2 的 InRequestScope() 来管理 UnitOfWork。

_kernel.Bind<UnitOfWork>().To<SqlUnitOfWork>().InRequestScope();

我希望每当我通过容器请求 UnitOfWork 时,始终会在整个请求中返回相同的对象。但是,在调试器中,我在对象的构造函数上有一个断点,每当对容器发出请求时,构造函数就会触发,就好像正在创建一个新对象一样。

var uow = CreateKernel().Get<UnitOfWork>();

有没有人有类似的经历,或者我错过了一些关键的东西?

4

1 回答 1

1

万一其他人有这个问题,我的问题与 global.asax 文件有关。我手动将 CreateKernal 的结果存储在私有变量中。通过基础 NinjectHttpApplication 类的 Kernal 属性更改为访问请求创建的内核对问题进行了排序。

于 2010-10-12T23:38:45.233 回答