如何获取Azure Service Bus队列中的死信消息计数?

时间:2017-03-21 16:27:40

标签: azure azureservicebus azure-servicebus-queues

如何获取Azure Service Bus队列中死信消息的数量?

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

SELECT PL.STATION,
PL.PART_NUMBER,
PD.DESCRIPTION
FROM SAMPLE_DB.PART_LOCATOR PL
LEFT JOIN PROD_SAMPLE_DB.PART_DETAIL PD
ON PL.PART_NUMBER = PD.PART_NUMBER
WHERE PL.PART_NUMBER = '4077968'
AND PL.STATION = 'ATL'

4 rows returned.

但是这看起来包括队列中的两个消息,以及相关死信队列中的消息

我如何区分它们?

1 个答案:

答案 0 :(得分:4)

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

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