2

我正在学习如何在 Azure 云应用程序和客户端应用程序之间进行通信,并完成了教程。

我目前有一个 .exe 工作进程的单个实例,它通过服务总线发送消息。我还有一个客户端角色,我在本地机器上运行以读取消息。但是,当我运行客户端的多个实例时,每个客户端都会获取一些消息,但没有一个得到完整的读数。是否可以使用队列或服务总线,以便客户端的每个实例都可以看到工作人员生成的所有消息?

例如,3 台不同计算机上的 3 个人可能希望独立监控同一计算任务的状态。

4

2 回答 2

9

在这种情况下,您不应该使用服务总线队列,而是使用服务总线主题/订阅。

与服务总线队列相比,每条消息都由单个消费者处理,主题和订阅使用发布/订阅模式提供一对多的通信形式。可以为一个主题注册多个订阅。当一条消息被发送到一个主题时,它就可供每个订阅独立处理/处理。

对于您的示例,您将需要 1 个服务总线主题,并为每个客户端应用程序在该主题上订阅。

更多信息:如何使用服务总线主题/订阅

于 2013-01-04T20:18:41.813 回答
-1

因为我相信您使用“Peek”作为消息接收模式,它将在您运行的实例之间共享(不相等)总消息。

希望有帮助。

于 2017-05-23T18:21:28.050 回答