【发布时间】:2011-05-29 20:32:18
【问题描述】:
我的存储库中出现了一系列非常奇怪的错误。未找到或更改行,2 次更新中有 1 次失败......没有任何意义。
就好像我的 DataContext 实例被缓存了......没有任何意义,我正在考虑转行。
然后我注意到 DataContext 实例是使用依赖注入和 Ninject 传入的(这是我第一次使用 DI...)。我撕掉了依赖注入,一切都恢复了正常。即刻。
所以依赖注入是问题所在,但我仍然不知道为什么。我推测 Ninject 正在缓存注入的 DataContext。
这是正确的吗?
编辑:
Ninject绑定如下:
Bind<IPupilBlockService>().To<SqlPupilBlockService>()
.WithConstructorArgument("db", new dbDataContext());
【问题讨论】:
-
在这种情况下,作为一种猜测,我只能认为这实际上取决于 IPupilBlockService 实现和使用它的客户端的生命周期。 HTH
标签: dependency-injection datacontext ninject lifecycle