<分区>
我构建了这个示例:Getting Started With RabbitMQ in .net , 但制作了 2 个程序:
我正在使用 BasicPublish
进行发布,并使用 BasicAck
进行收听,如示例中所示。如果我在发布者的每条“发送消息”上运行一个发布者和多个订阅者——只有一个订阅者收到它。因此,发布者向订阅者发送消息的顺序(订阅者启动时)是这样的,我想向所有订阅者发送一条消息。那个样本有什么问题?您是否可以提供通过 RabbitMq 进行发布者/订阅者消息交换的工作示例?
您链接到的示例使用没有交换的简单排队,这确保只有一个消费者会处理消息。为了在 RabbitMQ 中支持发布/订阅,您需要首先创建一个 Exchange,然后让每个订阅者在该 Exchange 上绑定(bind)一个 Queue。生产者然后将消息发送到 Exchange,Exchange 会将消息发布到已绑定(bind)到它的每个 Queue(至少使用简单的 Fanout 交换类型。路由可以通过 Direct 和 Topic 交换实现。)
Java 示例(可以很容易地转换为 C#)请参阅 here .
编辑:
可以找到更新的 .Net 版本 here