Sty*_*les 9 c# azure azureservicebus azure-servicebus-queues
我遇到Azure消息总线队列问题.
我已经MessageLockLostException抛出并且请求操作没有在分配的超时00:01:10内完成.分配给此操作的时间可能是较长超时的一部分.
我把队列设置成了ReceiveMode.PeekLock.
我也检查一下
if(message.LockedUntilUtc.Minute <= 1)
message.RenewLock();
Run Code Online (Sandbox Code Playgroud)
为什么会发生这种情况,是什么导致锁定放弃?我从你收到的地方读到的地方默认为5分钟.这个过程通常需要更长的时间.我想更新锁,但这不太顺利.
ast*_*kov 17
该LockDuration是队列的属性.您通常在创建队列时设置此项.这是Queue级别属性,无法在消息库中更改.你读过的,很可能是说这个持续时间不能超过5分钟.默认值为1分钟,这就是您遇到问题的原因.为什么你在70秒后面对它 - 我假设检查这个条件的逻辑每10秒执行一次.
因此,我建议您创建或修改您的队列以将LockDuration属性设置为5分钟.然后,在适当时处理您的消息的RenewLock.