peek 和 receive 之间的区别(azure 服务总线)
Difference between peek and receive (azure service bus)
有谁知道 azure 服务总线中 receive 和 peek 选项的区别?
var client = new MessageReceiver("ServiceBusConnectionString", "Queue");
// difference between this one:
var peekResults = await client.PeekAsync(100);
// and this one
var receiveResults = await client.ReceiveAsync(100);
我知道我可以获得相同的结果,但我想知道我应该使用哪一个,为什么?那么在内部会有什么区别?
Peek 将获取消息 w/o 增加递送计数器。这是一种“预览”消息的方法 w/o 从队列中删除。
接收会增加投递计数器。当以 ReceiveAndDelete
模式接收时,消息将从队列中消失。使用 PeekLock
模式的消息将保留在队列中,除非超过 MaxDeliveryCount
并且它们将是死信。
有谁知道 azure 服务总线中 receive 和 peek 选项的区别?
var client = new MessageReceiver("ServiceBusConnectionString", "Queue");
// difference between this one:
var peekResults = await client.PeekAsync(100);
// and this one
var receiveResults = await client.ReceiveAsync(100);
我知道我可以获得相同的结果,但我想知道我应该使用哪一个,为什么?那么在内部会有什么区别?
Peek 将获取消息 w/o 增加递送计数器。这是一种“预览”消息的方法 w/o 从队列中删除。
接收会增加投递计数器。当以 ReceiveAndDelete
模式接收时,消息将从队列中消失。使用 PeekLock
模式的消息将保留在队列中,除非超过 MaxDeliveryCount
并且它们将是死信。