如何删除Azure Service Bus队列中的死信?

时间:2017-03-21 17:35:20

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

如何删除Azure Service Bus队列中的死信?

我可以处理队列中的消息......

var queueClient = QueueClient.CreateFromConnectionString(sbConnectionString, queueName);
while (queueClient.Peek() != null)
{
    var brokeredMessage = queueClient.Receive();
    brokeredMessage.Complete();
}

但无论如何都看不到处理死信的消息

3 个答案:

答案 0 :(得分:4)

诀窍是使用deadletter path获取队列的QueueClient.FormatDeadLetterPath(queueName)

请尝试以下方法:

var queueClient = QueueClient.CreateFromConnectionString(sbConnectionString, QueueClient.FormatDeadLetterPath(queueName));
while (queueClient.Peek() != null)
{
    var brokeredMessage = queueClient.Receive();
    brokeredMessage.Complete();
}

答案 1 :(得分:2)

我们的GitHub样本仓库(https://github.com/Azure-Samples/azure-servicebus-messaging-samples)提供了一些很棒的样本。 DeadletterQueue项目应该向您展示如何在代码中执行此操作的示例:

'<script src="https://cdn.jsdelivr.net/json3/3.3.2/json3.js"></script>'  +

希望有所帮助!

答案 2 :(得分:0)

Snackbar snackbar = Snackbar.make(getView(), "Your Message", Snackbar.LENGTH_LONG);
snackbar.show();