通过服务总线资源管理器上的订阅者从存储 blob 上的主题读取消息 - C#

Reading Messages From Topic on storage blob through subscriber on Service Bus Explorer - C#

工作场景:

  1. Post 消息 1 到主题
  2. Post Msg2 to topic
  3. 阅读消息 1、消息 2

不工作:

  1. Post 消息 1 到主题
  2. 通过订阅者从主题中读取 Msg1,但我没有标记为完成。(仍在队列中)
  3. Post Msg2 to topic
  4. 读消息.. 实际:只读消息2 期望:想读消息1、消息2.

       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));
                     }
    

使用 ReceiveBatchAsync(messageCount) 时,您无法获得所请求的确切消息数。网关可以拥有所有消息,也可以不拥有。它会 return 它拥有的任何东西(网关可能有 less/more/same 实际存储在代理实体上的消息数量)。

来自documentation

As this is an approximation, fewer or more messages than messageCount may be returned.