我正在尝试使用 NServiceBus 实现发布订阅通道。根据企业集成模式一书,推送订阅频道被描述为:
Publish-Subscribe Channel 的工作原理如下:它有一个输入通道,该通道分为多个输出通道,每个订阅者一个。当事件发布到通道中时,发布-订阅通道将消息的副本传递到每个输出通道。通道的每个输出端只有一个订阅者,允许订阅者只消费一次消息。这样,每个订阅者只收到一次消息,并且消费的副本从他们的频道中消失。
霍普,格雷戈尔;伍尔夫,鲍比 (2012-03-09)。企业集成模式:设计、构建和部署消息解决方案(Addison-Wesley 签名系列 (Fowler))(Kindle 位置 2880-2883)。培生教育。Kindle 版。”</p>
有一个包含发布者和订阅者的示例:http: //docs.particular.net/samples/step-by-step/。我已经为版本 5 构建了示例解决方案。然后我在不同的命令行窗口中运行多个订阅者以查看系统的行为方式。
即使有多个订阅者,也只有一个订阅者会收到发布的事件。发布多个事件最多会导致一个订阅者处理该事件。
我找不到有关如何将 NServiceBus 配置为引用文本中定义的发布-订阅通道的任何信息。有谁知道如何做到这一点?这不支持吗?
[2016 年 2 月 2 日更新]
复制订阅者后,我没有重命名端点。这给了我想要的行为。