【发布时间】:2020-06-23 13:28:02
【问题描述】:
我从队列中获取了一批消息,然后选择我要查找的消息,那么,如何将其余消息移回队列?或者只是将我需要的那个标记为不再可用?
var receiverClient = new MessageReceiver("ConnectionString", "MyQueue");
// getting a list of 100
var messageList = await receiverClient.PeekAsync(100);
var myMessage = messageList?.Where(x => x.MessageId == "MessageGuid").FirstOrDefault();
在那之后,我尝试做这样的事情:
await receiverClient.RenewLockAsync(myMessage);
await receiverClient.CompleteAsync(myMessage.SystemProperties.LockToken);
但那失败了,我认为一定与我得到一批队列的事实有关。有什么想法吗?
我认为的另一种方法是创建另一个客户端(一个能够发送消息的客户端),然后使用 Receive() 而不是 Peek() 但我确实有 2 个客户端,而且我的过程也会慢一点
【问题讨论】:
标签: azureservicebus azure-servicebus-queues