是否可以使用C#将所有具有死信消息的Azure servicebus队列名称放入特定命名空间。
我知道我可以使用这个来获取所有队列描述:
IEnumerable<QueueDescription> queueList = namespaceManager.GetQueues();
如何将此列表过滤为仅包含具有死信消息的队列名称?
答案 0 :(得分:4)
NamespaceManager.GetQueues
方法允许您使用指定的filter
获取服务命名空间中的所有队列:
var queues = namespaceManager.GetQueues("startswith(path, 'MyQueue') eq true");
var queues = namespaceManager.GetQueues("messageCount Gt 0");
很遗憾,您无法过滤DeadLetterMessageCount
属性。
我知道的唯一解决方案是获取所有队列描述并对其进行后期过滤:
var queues = namespaceManager.GetQueues()
.Where(q => q.MessageCountDetails.DeadLetterMessageCount > 0);