我尝试设置一个分为多个逻辑服务的服务。因为它们是逻辑服务,所以它们每个都有自己的队列。每个逻辑服务都是autofac中的一个模块。
设置看起来很模糊:
sbc.ReceiveEndpoint(host, "service1", ep => {
ep.LoadFrom(c.Resolve<ILifetimeScope>())
});
sbc.ReceiveEndpoint(host, "service2", ep => {
ep.LoadFrom(c.Resolve<ILifetimeScope>())
});
但我认为这会导致每个消费者都在每个队列上订阅。
是否有内置方式我可以通过autofac只注册来自特定模块的消费者,或者我是否必须编写自己的适配器?
答案 0 :(得分:2)
您需要编写自己的适配器。这不是很多工作。确保将容器中的使用者解析为具体类,而不是Consumes
的实现。