【发布时间】:2009-11-07 11:08:30
【问题描述】:
如果我希望处理每条消息的实例,我需要结合 NServiceBus 消息处理程序使用所需的 IOC 实例生命周期。
PerRequest 不起作用,因为考虑到我有大量的构造函数依赖和依赖图,当我每个 Handle(MessageX msg) 调用只需要一个时,它给了我很多实例。我不能或不想将它直接注入到消息处理程序中,因为它需要在对象图的下方。例如。注入 IPersonService,依赖于 IPersonRepository,它们可以是每个请求(默认),但 IPersonDBContext 需要是每个消息调用。
PerThread 无法工作,因为 NServiceBus 一遍又一遍地使用相同的工作线程。
Singleton、HttpContext等..显然不适用。
有人用 StructureMap 或 Castle 遇到过这种情况吗?
【问题讨论】:
标签: structuremap ioc-container nservicebus lifecycle