我正在使用azure服务总线来接收处理我的后台进程的消息。在我的后台进程中,我想清除已经处理过的来自azure服务总线的消息。有没有办法或方法来清除天蓝色的服务总线消息?
答案 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();
}