本文介绍 412002 DeviceMessageLockLost 错误的原因和解决方案。
症状
尝试发送云到设备的消息时,请求失败,并出现错误 412002 DeviceMessageLockLost。
原因
当设备通过某种方式(例如,使用 ReceiveAsync()
)从队列接收云到设备的消息时,IoT 中心会将该消息锁定,锁定超时持续时间为一分钟。 如果在锁定超时过期后设备尝试完成消息,则 IoT 中心会引发此异常。
解决方案
如果 IoT 中心在一分钟的锁定超时期限内没有收到通知,则会将该消息设置回“已排队”状态。 设备可以再次尝试接收消息。 若要防止将来发生错误,请在接收消息的一分钟内实现设备端逻辑来完成该消息。 无法更改这个一分钟的超时时间。