2016-09-16 4 views
1

デッドレターメッセージを持つすべてのAzureサービスバスキュー名をC#で使用する特定の名前空間に入れる方法はありますか?名前空間エンドポイントを使用してデッド・レター・メッセージを使用して空白キューリストを取得するにはどうすればよいですか?

私はこの使用して、すべてのキューの説明を得ることができることを知っている:どのように私は死んで文字メッセージを持つキュー名を持つように、このリストをフィルタリングすることができます

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

を?

+0

あなたが指定された名前空間のすべての配信不能キュー内のすべてのメッセージを取得したいdは? – Thomas

+0

いいえ、指定されたネームスペースのデッドレターキューを持つキューリストが必要です –

+0

すべてのキューにデッドレターキューがあります。デッドレターのキューが空でないキューリストが必要ですか? – Thomas

答えて

3

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); 
+0

答えがうまくありがとうございました –

+0

私はこれを試しました:string filter = "MessageCountDetails.DeadLetterMessageCount Gt 0";しかし、それは動作しません。私はこれを見て嬉しかったです。 – granadaCoder

+0

PS Boo Microsoft。 – granadaCoder

関連する問題