1

我刚刚做了一个快速测试,似乎使用 bus.Publish 发布的消息不会在 msmq 中持续存在,直到它有订阅者。

  1. 我在配置中做错了吗?
  2. 这是设计使然吗?为什么?

谢谢

4

1 回答 1

0

这就是发布/订阅如何与 MSMQ 一起工作 - 当发布者发布消息时,它将在其订阅存储中查找订阅者的队列名称,并将消息的副本发送给每个订阅者。

由此得出,如果没有订阅者,则实际上不会发送任何消息。

从逻辑上讲,当使用支持多播的传输(例如 RabbitMQ)时,它的工作方式相同 - 使用 RabbitMQ,然后消息将发布到代理,然后代理将消息的副本分发给每个订阅者 - 再次,如果没有,该消息将不会传递给任何人,因此无法在任何地方看到。

我希望这是有道理的 :)

于 2014-08-06T07:03:42.960 回答