2
Microsoft Azure中的My DeadLetter隊列(針對主題)當前包含60,000條記錄。我想澄清這一點,但我似乎無法找到任何有關如何做到這一點的信息。我試過使用服務總線瀏覽器,但花了很長時間試圖刪除1000個項目。您是否可以清除Azure中的DeadLetter隊列
是否可以在一個語句中執行此操作,還是必須刪除該主題並重新創建它。
Microsoft Azure中的My DeadLetter隊列(針對主題)當前包含60,000條記錄。我想澄清這一點,但我似乎無法找到任何有關如何做到這一點的信息。我試過使用服務總線瀏覽器,但花了很長時間試圖刪除1000個項目。您是否可以清除Azure中的DeadLetter隊列
是否可以在一個語句中執行此操作,還是必須刪除該主題並重新創建它。
string connectionString = ConfigurationManager.AppSettings["connectionString"];
ServiceBusConnectionStringBuilder builder = new ServiceBusConnectionStringBuilder(connectionString);
MessagingFactory factory = MessagingFactory.CreateFromConnectionString(builder.ToString());
SubscriptionClient deadletterClient = factory.CreateSubscriptionClient(yourtopicName, "yoursubscriptionName/$DeadLetterQueue");
while(true)
{
BrokeredMessage msg = deadletterClient.Receive();
if(msg != null)
{
msg.Complete();
}
else
{
break;
}
}
我希望這段代碼能幫到你! – Amit
請解釋你的代碼 –
讓我們假設我們有一個主題名稱爲abc並且訂閱了xyz ..我需要訪問這個(xyz)訂閱的死信隊列消息。我們現在可以通過將主題名稱和訂閱名稱傳遞給createsubscriptionclient方法來創建訂閱客戶端。由於我們需要訪問DLQ,因此我們通過將/ $ Deadletterqueue添加到訂閱名稱來給出其路徑.DLQ消息可以通過調用接收方法..我剛纔看到我需要編輯上面寫的代碼片段,同時給訂閱名稱.. – Amit