Azure Service Bus and Messaging Sessions

2019-02-16 13:22发布

I've been looking into Azure Service Bus Queues (NOT Azure Storage Queues). All of the details that I have read indicate that it supports FIFO semantics, but only in the context of a "Messaging Session". The problem is that I can't seem to find any information on what exactly this is in the context of Azure. Is this a WCF construct, or something that is particular to Azure Service Bus? I assume that it does not relate to local transactions, but I am not 100% sure.

Any pointers would be very helpful. Thanks!

2条回答
仙女界的扛把子
2楼-- · 2019-02-16 13:39

Taken from MSDN:

SessionId: If a message has the Microsoft.ServiceBus.Messaging.BrokeredMessage.SessionId property set, then Service Bus uses the SessionId property as the partition key. This way, all messages that belong to the same session are handled by the same message broker. This enables Service Bus to guarantee message ordering as well as the consistency of session states.

For a coding sample employing SessionId and AcceptSessionReceiver see.

查看更多
smile是对你的礼貌
3楼-- · 2019-02-16 13:56

Specifically it refers to MessageSession, and it's the AcceptMessageSession method that holds the key by returning messages only for a given session id, which could be a sequence implying some ordering. The Brokered Messaging: Session Messages sample should help clarify, and the Best Practices document is another great reference.

查看更多
登录 后发表回答