2015-09-17 25 views
2

Microsoft Azure中的My DeadLetter队列(针对主题)当前包含60,000条记录。我想澄清这一点,但我似乎无法找到任何有关如何做到这一点的信息。我试过使用服务总线浏览器,但花了很长时间试图删除1000个项目。您是否可以清除Azure中的DeadLetter队列

是否可以在一个语句中执行此操作,还是必须删除该主题并重新创建它。

回答

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

我希望这段代码能帮到你! – Amit

+0

请解释你的代码 –

+0

让我们假设我们有一个主题名称为abc并且订阅了xyz ..我需要访问这个(xyz)订阅的死信队列消息。我们现在可以通过将主题名称和订阅名称传递给createsubscriptionclient方法来创建订阅客户端。由于我们需要访问DLQ,因此我们通过将/ $ Deadletterqueue添加到订阅名称来给出其路径.DLQ消息可以通过调用接收方法..我刚才看到我需要编辑上面写的代码片段,同时给订阅名称.. – Amit

相关问题