Ninject绑定设置

时间:2012-02-07 16:26:13

标签: parallel-processing ninject-2 ninject.web.mvc

我有一个奇怪的情况,我正在使用NInject,我不知道如何继续。我们在这个实例中的存储库是自定义编写的sql生成器,而不是使用linq到sql; nHibernate等

为了利用系统内的代码,我们在存储库的实现中,注入所需的存储库来构建子对象(例如,“order”对象需要获取其“orderdetails”对象并分配它在将它返回到系统中的调用区之前的顺序,所以在我们的OrderRepository中,我们有一个[Inject] IOrderDetailRepository OrderDetailRepo {get; set;})。

直到这一点,我们已经能够保持所有配置的InRequestScope()。现在我们使用Parallel ForEach循环,在迭代完成后,我们将事件触发到单例范围的事件处理程序以更新数据库。我们在循环中进行更新,但一直试图避免将循环与系统中的特定区域绑定,因为可能有许多区域可以使用此循环。

因此,我们需要弄清楚当我们调用这个单例范围的事件处理程序时,如何配置ninject,使得在该单例事件处理程序中使用的所有IRepositories(IOrderRepository和IOrderDetailRepository)在使用时立即死掉并立即执行init。 / p>

任何提示?


所以,我有“A”分辨率,但我对这个问题的解决方案不满意......我所做的就是建立一个ChildKernel,然后按照我想要的方式设置绑定。虽然这可以按预期工作,但感觉就像是一些严重的“代码味道”。如果有人存在,我们很乐意看到处理这种情况的更好方法。

0 个答案:

没有答案