azureservicebus - Azure 服务总线“奇怪的行为”
问题描述
我遇到了一个非常奇怪的行为,我似乎无法理解或使用 Azure 服务总线解决。我设置了一个队列并向其发送 1 条消息。我可以看到消息存在于队列中。
然后我尝试使用 ReceiveAsync() 方法读取消息,但始终返回 NULL。但是如果我使用 PeekAsync() 方法,我可以看到有一条消息,我可以获取并使用它。但是由于没有使用 PeekAsync() 方法生成任何 LockToken,我无法在使用 CompleteAsync() 方法之后将其删除(这不会解决问题,但至少可以使我的代码正常工作)。
有没有人遇到过这样的事情?我在某处读到有人在队列上使用分区时遇到了类似的问题,但我不这样做。
最好的问候马格努斯
解决方案
我发现了这个问题。
有一个逻辑应用程序尝试从同一服务总线读取消息,但是当逻辑应用程序读取消息时读取失败。
而我的猜测是,逻辑应用程序读取消息并失败,然后消息被“隐藏”以供其他读者阅读相同的消息,但可以偷看消息。
因此,当我关闭逻辑应用程序时,我的代码可以使用 receiveAsync() 方法来获取消息。
推荐阅读
- vue.js - Implement email and sms notifications in Vue.js
- macos - 无法使用 appium 运行测试
- javascript - html2canvas 结合 watermarkjs
- vb.net - EF Codefirst AddOrUpdate 以相关实体为标识符
- java - Select fields thats not exist in JSON Spark-Json Dataset
- react-native - TabNavigator 中没有内容
- amazon-web-services - How aws step functions were implemented?
- javascript - Firestore update all documents in collections
- vbscript - Skip some text from line
- c - Embedded RTOS producer and consumer with many types of messages