Azure服务总线队列消息处理

时间:2014-10-30 21:34:53

标签: c# stream azure-servicebus-queues

我有两个连接到Azure队列的消费者(不同的应用程序)。我可以ReceiveAndDeletePeekLock消息,在消费期间我可以complete()abandon()消息。参考:http://msdn.microsoft.com/en-us/library/azure/hh851750.aspx

我确定要使用PeekLock然后abandon()消息,因为我希望在两个应用程序中都能收到这些消息。我想我将队列上的消息生存期设置为10秒作为删除机制。

但是,由于消息似乎在10秒后被删除,因此它们会在这10秒内一次又一次地在两个应用程序中发布。我应该创建一些自定义复制检测还是一般使用错误的方法?

1 个答案:

答案 0 :(得分:2)

根据我的经验,当您使用PeeKLock时,您将需要几乎总是使用完整方法完成。放弃方法正在创造双重性,因为它从未标记为"完成"。

您是否考虑过使用服务总线主题/订阅模式,或者过滤器?如果我正确理解您的场景,那可能正是您所需要的。您可以使用不同的主题或过滤器向队列发送2条消息,指定它适用于哪个应用程序。

http://azure.microsoft.com/en-us/documentation/articles/service-bus-dotnet-how-to-use-topics-subscriptions/

如果这有帮助,或者如果这与您的情况不符,请告诉我。

最诚挚的问候......