0

我正在使用 Azure ServiceBus 处理多个客户端发送的项目。

我正在测试接收这些消息并并排运行 2 个侦听器的部分。但是,如果我将 2 个项目提交到队列中。只有 1 个侦听器可以工作,而第二个侦听器没有接听其他项目。

但是,我尝试在不同的机器上运行 2 个侦听器,它们都处理推送到队列的 2 个项目。

在同一台机器上运行多个侦听器是否存在问题?如果是,我做错了什么以及如何解决?

谢谢你的时间。

4

1 回答 1

0

在同一台机器上运行多个监听器的问题

我创建了一个控制台应用程序来接收来自服务总线队列的消息,然后我在我的机器上打开并运行程序两次,队列客户端/接收器都可以接收和处理来自同一个队列的消息。

调用 OnMessage 方法:

var client = QueueClient.CreateFromConnectionString(connectionString, queueName);

var options = new OnMessageOptions();
options.AutoComplete = false;

client.OnMessage(mes =>
{
    Console.WriteLine(mes.GetBody<string>());
}, options);

输出:

在此处输入图像描述

调用接收方法:

var client = QueueClient.CreateFromConnectionString(connectionString, queueName);  

BrokeredMessage mes = client.Receive();
Console.WriteLine(mes.GetBody<string>());

输出:

在此处输入图像描述

如果可能,请将您的代码分享给我们,然后我们将根据您的代码重现问题。

于 2017-05-11T05:19:08.953 回答