在新的.NET标准Microsoft.Azure.ServiceBus中,NamespaceManager的等价物是什么?
我已经使用WindowsAzure.ServiceBus来处理队列中的消息...
var namespaceManager = NamespaceManager.CreateFromConnectionString(SbConnectionString);
var count = namespaceManager.GetQueue(queueName).MessageCount;
转移到新的Microsoft.Azure.ServiceBus .NET标准库,但是虽然它有像QueueClient和TopicClient这样的类,但它没有任何NamespaceManager
如何在新的.NET标准库中进行消息计数?
答案 0 :(得分:2)
要提供更新:
此功能现已实现,并且可以在Microsoft.Azure.ServiceBus.Management;
名称空间下使用。
NamespaceManager
现在称为ManagementClient
,并且具有(大致)相同的可用端点。
这里是class itself的一部分,pull request to merge it into the main repository。
答案 1 :(得分:1)
你不能。
新API不支持阅读邮件计数。您必须使用Azure Monitor API来获取它们。
在Reading Azure Service Bus Metrics中了解该案例的原因以及如何使用Azure Monitor。
答案 2 :(得分:0)
您可以读取队列消息计数:
var managementClient = new ManagementClient(connectionString);
(await managementClient.GetQueueRuntimeInfoAsync("name")).MessageCount;