如何获取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.
但是这看起来包括队列中的两个消息,以及相关死信队列中的消息
我如何区分它们?
答案 0 :(得分:4)
请查看MessageCountDetails
中的QueueDescription
财产。你会在那里找到DeadletterMessageCount
,它会为你提供你正在寻找的信息。
var ns = NamespaceManager.CreateFromConnectionString(sbConnectionString);
var queue = ns.GetQueue(queueName);
var count = queue.MessageCount;
var deadletterMessagesCount = queue.MessageCountDetails.DeadletterMessageCount;