1

我正在使用 azure 服务总线来接收消息以处理我的后台进程。在我的后台进程中,我想从 azure 服务总线中清除已处理的消息。有什么方法或方法可以清除 azure service bus 消息???

4

2 回答 2

1

阅读如何从队列中接收消息并确保使用_queueClient.Complete()_queueClient.Abandon()完成每条消息。

于 2015-03-05T14:54:14.050 回答
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(); 
}
于 2018-08-24T10:08:26.767 回答