QueueClient.Receive() 按什么顺序传送消息? 我一直在运行一些测试,如果您不 Complete() 它们,我可以看到一些消息(我猜是最上面的消息)会被一遍又一遍地传递。 有没有办法强制它以循环方式交付?
最佳答案
当您有一条消息已传递但未完成时,一旦 LockDuration
过期,消息预计会显示在队列中并再次被使用。您必须完成该消息。如果您不这样做,它最终会进入 DLQ,但在此之前您的消费者将多次收到它。
QueueClient.Receive
获取代理(服务器)上可用的任何内容。我不遵循循环交付的想法,因为它是一个队列。您会得到队列中的内容。根据经验,我建议不要依赖消息的顺序。
也就是说,有一个 ASB session 功能可以保留并保证交付顺序。如果您正在寻找 session ,similar question之前被问过。
关于azure - QueueClient.Receive() 传递的消息的顺序是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39848482/