如何清除天蓝色服务总线的待处理消息?

时间:2015-03-05 11:49:22

标签: azure azure-storage azure-servicebus-queues

我正在使用azure服务总线来接收处理我的后台进程的消息。在我的后台进程中,我想清除已经处理过的来自azure服务总线的消息。有没有办法或方法来清除天蓝色的服务总线消息?

2 个答案:

答案 0 :(得分:0)

阅读How to receive messages from a queue并确保使用_queueClient.Complete()_queueClient.Abandon()完成每封邮件。

答案 1 :(得分:0)

您可以使用“ Microsoft.ServiceBus.Messaging”并按入队时间清除消息。接收消息,按ScheduledEnqueueTime进行过滤,并在特定时间将消息放入队列后进行清除。

using Microsoft.ServiceBus.Messaging;

MessagingFactory messagingFactory = MessagingFactory.CreateFromConnectionString(connectionString);

var queueClient = messagingFactory.CreateQueueClient(resourceName, ReceiveMode.PeekLock);

var client = messagingFactory.CreateMessageReceiver(resourceName, ReceiveMode.PeekLock);

BrokeredMessage message = client.Receive();

if (message.EnqueuedTimeUtc < MessageEnqueuedDateTime)
{
    message.Complete(); 
}