我在 Microsoft Azure 中的 DeadLetter 队列(针对某个主题)当前包含 60,000 条记录。我想清除这一点,但我似乎找不到任何有关如何执行此操作的信息。我尝试过使用服务总线资源管理器,但尝试删除 1000 个项目需要很长时间。
是否可以在一个语句中执行此操作,或者我必须删除该主题并重新创建它。
我在 Microsoft Azure 中的 DeadLetter 队列(针对某个主题)当前包含 60,000 条记录。我想清除这一点,但我似乎找不到任何有关如何执行此操作的信息。我尝试过使用服务总线资源管理器,但尝试删除 1000 个项目需要很长时间。
是否可以在一个语句中执行此操作,或者我必须删除该主题并重新创建它。
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;
}
}