gpt4 book ai didi

c# - Azure 服务总线 ReceiveBatch 返回 0 条消息

转载 作者:行者123 更新时间:2023-12-03 04:33:44 27 4
gpt4 key购买 nike

我的主题订阅中有超过 1000 条消息。

当我调用 Receive 时,我收到了预期的消息。当我调用 ReceiveBatch 时,我收到 0 条消息。

问题可能是什么?

MessagingFactory factory = MessagingFactory.CreateFromConnectionString(Config.ServiceBusTopicConnectionString);
var path = SubscriptionClient.FormatSubscriptionPath(topicPath, subscriptionName);
var receiver = factory.CreateMessageReceiver(path, ReceiveMode.PeekLock);

var messages = receiver.ReceiveBatch(50); //This returns 0 messages
//var message = receiver.Receive(); //This returns 1 message as expected

最佳答案

您是否启用了该主题的批处理?

来自https://msdn.microsoft.com/en-us/library/azure/hh528527.aspx

批处理发生在所有启用批量存储访问的实体中。创建新队列、主题或订阅时,默认启用批量存储访问。要禁用批量存储访问,请在创建实体之前将 EnableBatchedOperations 属性设置为 false。例如:

C#

QueueDescription qd = new QueueDescription();
qd.EnableBatchedOperations = false;
Queue q = namespaceManager.CreateQueue(qd);

批量存储访问不会影响可计费消息传递操作的数量,并且是队列、主题或订阅的属性。它独立于客户端和服务总线服务之间使用的接收模式和协议(protocol)。

关于c# - Azure 服务总线 ReceiveBatch 返回 0 条消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31654846/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com