在Service Bus Explorer上通过订阅者从存储blob上的主题读取消息 - C#

时间:2016-12-30 08:00:00

标签: azure azure-storage-blobs servicebus azure-servicebus-topics

工作场景:

  1. 将Msg1发布到主题
  2. 将Msg2发布到主题
  3. 阅读Msg1,Msg2
  4. 不工作:

    1. 将Msg1发布到主题
    2. 从主题到订阅者阅读Msg1,但我没有标记为完整。(仍在队列中)
    3. 将Msg2发布到主题
    4. 阅读Msgs ..实际:我只阅读Msg2期望:想要阅读Msg1,Msg2。

         if (namespaceManager.TopicExists(topic))
                      {
                          var lstOfValues = new List<SITConfirmation>();
                          SubscriptionClient Client = SubscriptionClient.CreateFromConnectionString(ConfigurationManager.ConectionString(), topic, subscriber);
                          IEnumerable<BrokeredMessage> messages = await Client.ReceiveBatchAsync(10, TimeSpan.FromMilliseconds(500));
                       }
      

1 个答案:

答案 0 :(得分:1)

使用ReceiveBatchAsync(messageCount),您无法获得所请求的确切消息数。网关可以拥有所有消息。它将返回它拥有的任何内容(网关可能具有更少/更多/相同数量的实际存储在代理实体上的消息)。

来自documentation

  

由于这是近似值,因此可能会返回比messageCount更少或更多的消息。