如何获取 Azure 服务总线队列中的死信消息数?

How do you get the count of dead letter messages in an Azure Service Bus queue?

如何获取 Azure 服务总线队列中的死信消息数?

我可以像这样得到队列中的计数...

var ns = NamespaceManager.CreateFromConnectionString(sbConnectionString);
var queue = ns.GetQueue(queueName);
var count = queue.MessageCount;

但这看起来既包括队列中的消息,也包括相关死信队列中的消息

如何区分它们?

请查看 MessageCountDetails property in QueueDescription. You will find DeadletterMessageCount 那里将为您提供所需的信息。

var ns = NamespaceManager.CreateFromConnectionString(sbConnectionString);
var queue = ns.GetQueue(queueName);
var count = queue.MessageCount;
var deadletterMessagesCount = queue.MessageCountDetails.DeadletterMessageCount;