从50个服务总线队列中获取数据,用于azure web应用中的实时仪表板

本文关键字:web azure 应用 仪表板 实时 用于 数据 服务 50个 总线 队列 | 更新日期: 2023-09-27 18:09:41

使用如下代码…我能够创建一个web应用程序,每30秒发送数据到客户端使用System.Threading.Timer.

我能够添加一些代码,使用Messaging factory和Messaging receiver从服务总线队列接收数据,并基于此将数据发送到signalR客户端,而不是像上面提到的示例那样硬编码。

现在我的实际应用程序从50个这样的队列中获取数据。

理论上,我可以创建50个计时器对象,它们将调用50个不同的方法,这些方法依次调用服务总线队列。

如果有人能提出正确的方法来实现我的目标,我将衷心感激。

谢谢

从50个服务总线队列中获取数据,用于azure web应用中的实时仪表板

消息泵模式似乎非常适合这个应用程序。您可以为每个队列创建一个单独的客户端,并将每个队列配置为自动侦听其队列中的消息,并在它们进入时对其进行处理。

foreach (var queueName in queueNames){
  var queueClient = QueueClient.CreateFromConnectionString(connectionString, queueName);
  queueClient.OnMessage(message =>
  {
    // Do work here
    Console.Out.WriteLine(string.Format("Recieved message {0} on queue {1}", message.MessageId, queueName));
  });
}