TopicClient.Send有时需要很长时间才能发送消息

时间:2015-06-17 22:04:07

标签: c# azure azureservicebus

我使用Azure ServiceBus主题将消息从一个应用程序(WorkerRole)发送到另一个应用程序(WorkerRole)。将消息主题队列的添加尽快完成非常重要,但我发现Send()的{​​{1}}方法有时会在1秒到1分钟之间变化

我在Azure仪表板上的设置:

  • 1名称空间
  • 1主题
  • 4订阅

我从2个不同的客户端发送主题但是我发送的消息数量目前相当小,即每隔几秒我就会向2个不同的订阅发送消息。

我注意到发送给订阅的消息似乎在发送时间上有所不同。以下是我的发送代码。

TopicClient

邮件处理会影响此发送吗?如果需要,我可以发布该代码。

1 个答案:

答案 0 :(得分:0)

感谢Gaurav Mantri指出我可能的方向,我找到了一种似乎更快的方法。

看来我正在为每个请求创建一个新的MessageFactory。如MSDN所示,尽可能重用工厂效率更高。

所以我最终要做的是创建一个消息工厂池,这样一般来说我很少创建新的消息工厂连接。

这意味着我现在看到即时消息发送到服务总线队列,并且我唯一一次看到最初的5秒延迟是我第一次创建MessageFactory对象然后将其用于第一个时间。