如何在没有锁令牌的情况下处理azure服务总线代理消息?

时间:2016-07-18 11:06:47

标签: c# azure azureservicebus azure-servicebus-topics

我正在使用azure服务总线主题和订阅消息处理。使用api,Windows应用程序会删除消息。我在收到消息时使用偷看锁5分钟。现在,如果假设Windows应用程序从azure获取消息并在获取应用程序崩溃后。现在,当我打开应用程序时,消息无法从api获取。这是因为消息被锁定了5分钟。当它由azure自动解锁时,我能够从azure再次获取消息。

由于崩溃,我无法解锁,锁定来自azure的消息。

那么如何在不等待azure自动解锁的情况下快速再次获取消息。因此,如果由于某种原因应用程序崩溃,那么我可以在应用程序启动时快速再次收到消息。

请帮我解决这个问题。

1 个答案:

答案 0 :(得分:1)

在这种情况下,最好使用短锁定持续时间,并在处理时更新锁定。例如,设置锁定持续时间为60秒,并在处理消息时每45秒更新一次。这样一来,如果有什么东西崩溃,那么在收到失败的消息之前最多会持续60秒。