The lock supplied is invalid. Either the lock expired, or the message has already been removed from the queue

前端 未结 3 1527
执笔经年
执笔经年 2020-12-08 19:24

I\'m using a Microsoft azure service bus queue to process calculations and my program runs fine for a few hours but then I start to get this exception for every message that

3条回答
  •  鱼传尺愫
    2020-12-08 19:50

    I spent hours trying understand why I was getting a MessageLockLostException. The reason for me was due to AutoComplete defaulting to true.

    If you're going to call messsage.Complete() (or CompleteAsync()) then you should instantiate an OnMessageOptions object, set AutoComplete to false, and pass it into your OnMessage call.

    var options = new OnMessageOptions();
    options.AutoComplete = false;
    
    client.OnMessage(processCalculations, options);
    

提交回复
热议问题