如何使用命名空间端点获取带死信消息的azure队列列表?

时间:2016-09-16 13:06:04

标签: c# azure azureservicebus azure-servicebus-queues

是否可以使用C#将所有具有死信消息的Azure servicebus队列名称放入特定命名空间。

我知道我可以使用这个来获取所有队列描述:

IEnumerable<QueueDescription> queueList = namespaceManager.GetQueues();

如何将此列表过滤为仅包含具有死信消息的队列名称?

1 个答案:

答案 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);