【发布时间】:2020-09-01 14:09:06
【问题描述】:
Environment:
Three Projects (one publisher and three subscribers):
consoleConsumer1
consoleConsumer2
consolePublisher1
发布者通过consolePublisher1命名空间中的publishendpoint发送消息
_publishEndPoint.Publish<ManagerCreated>()
我还有另外两个项目,肯定有两个不同的命名空间,它们意外地具有相同的消费者名称来处理 ManagerCreated 事件,所以通常我已经添加了这个消费者
mt.AddConsumer<ManagerChangedIntegrationEventHandler>();
我希望 masstransit 会创建两个类似这样的名称的扇出交换和队列
consoleConsumer1:ManagerChangedIntegrationEventHandler
and
consoleConsumer2:ManagerChangedIntegrationEventHandler
但它只创建一个名为:
ManagerChangedIntegrationEventHandler
这两个消费者竞争消费消息。我知道我可以创建队列端点,以便交换将消息发布到两个不同的队列,但按照惯例有什么办法吗?
为什么项目名称或命名空间不应该影响交换和队列名称?
在消费者注册中使用命名空间的最佳方式是什么?
【问题讨论】:
标签: .net-core masstransit