将mt队列订阅到autofac模块

时间:2015-05-22 06:39:27

标签: autofac masstransit

我尝试设置一个分为多个逻辑服务的服务。因为它们是逻辑服务,所以它们每个都有自己的队列。每个逻辑服务都是autofac中的一个模块。

设置看起来很模糊:

sbc.ReceiveEndpoint(host, "service1", ep => {
  ep.LoadFrom(c.Resolve<ILifetimeScope>())
});
sbc.ReceiveEndpoint(host, "service2", ep => {
  ep.LoadFrom(c.Resolve<ILifetimeScope>())
});

但我认为这会导致每个消费者都在每个队列上订阅。

是否有内置方式我可以通过autofac只注册来自特定模块的消费者,或者我是否必须编写自己的适配器?

1 个答案:

答案 0 :(得分:2)

您需要编写自己的适配器。这不是很多工作。确保将容器中的使用者解析为具体类,而不是Consumes的实现。