【问题标题】:How do you get the count of dead letter messages in an Azure Service Bus queue?如何获取 Azure 服务总线队列中死信消息的计数?
【发布时间】:2026-01-15 00:35:01
【问题描述】:

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

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

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

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

如何区分它们?

【问题讨论】:

    标签: azure azureservicebus azure-servicebus-queues


    【解决方案1】:

    请查看QueueDescription 中的MessageCountDetails 属性。你会在那里找到DeadletterMessageCount,它会为你提供你正在寻找的信息。

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

    【讨论】: