我刚做了一个快速测试,看起来发布的带有bus.Publish的消息在msmq中没有持久存在,直到它有一个用户。
由于
答案 0 :(得分:0)
这就是发布/订阅与MSMQ一起工作的方式 - 当发布者发布消息时,它将在其订阅存储中查找订阅者的队列名称,并将消息的副本发送给每个订阅者。
由此可知,如果没有订阅者,则实际上不会发送任何消息。
逻辑上,当使用支持多播的传输时,它的工作方式相同,例如: RabbitMQ - 使用RabbitMQ,然后将消息发布到代理,代理然后将消息的副本分发给每个订阅者 - 再次,如果没有,则消息将不会传递给任何人,因此无法在任何地方看到。
我希望这是有道理的:)