Windows Azure MessageLockLostException

2023-11-24

我在使用 Azure 消息总线队列时遇到问题。

我有MessageLockLostException抛出和请求操作未在指定的超时 00:01:10 内完成。分配给此操作的时间可能是较长超时的一部分.

我已将队列设置为ReceiveMode.PeekLock.

我也检查

if(message.LockedUntilUtc.Minute <= 1)
    message.RenewLock();

为什么会发生这种情况,是什么原因导致锁失效?我在某处读到,从你收到的那一刻起,你默认有 5 分钟的时间。这个过程通常需要更长的时间。我想更新锁,但效果不太好。


The 锁定时间是队列的属性。您通常在创建队列时设置此项。这是Queuelevel 属性,并且不能在消息库上更改。您读到的内容很可能是说此持续时间不能超过 5 分钟。默认值是 1 分钟,这就是您遇到问题的原因。为什么你会在 70 秒后面对它 - 我假设检查此条件的逻辑每 10 秒执行一次。

所以我建议您创建或修改您的队列来设置锁定时间属性到5分钟。然后,在工作的时候更新锁在适当的时候您的消息。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Windows Azure MessageLockLostException 的相关文章

随机推荐