在新的.NET标准Microsoft.Azure.ServiceBus中,NamespaceManager.GetQueue.MessageCount的等价物是什么?

时间:2018-01-10 16:12:14

标签: azure azureservicebus .net-standard

在新的.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标准库中进行消息计数?

3 个答案:

答案 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;