2012-08-28 36 views
9

He estado buscando Colas de bus de servicio de Azure (NOT Azure Storage Queues). Todos los detalles que he leído indican que es compatible con FIFO semantics, pero solo en el contexto de una "Sesión de mensajería". El problema es que parece que no puedo encontrar ninguna información sobre qué es exactamente esto en el contexto de Azure. ¿Es esto una construcción WCF, o algo que es particular de Azure Service Bus? Supongo que no se relaciona con las transacciones locales, pero no estoy 100% seguro.Sesiones de bus de servicio y mensajería de Azure

Cualquier puntero sería muy útil. ¡Gracias!

Respuesta

9

Específicamente se refiere a MessageSession, y es el método AcceptMessageSession que tiene la clave al devolver mensajes solo para una identificación de sesión dada, lo que podría ser una secuencia que implica algún pedido. La muestra Brokered Messaging: Session Messages debería ayudar a aclarar, y el documento Best Practices es otra gran referencia.

+0

Jim - Gracias por la respuesta. Si lo entiendo, la identificación de la sesión se puede usar para ordenar mensajes, pero no hay nada en el marco para proporcionar esos identificadores de sesión. Lo que significa que debe generar los números de secuencia para usar para los identificadores de sesión para FIFO. ¿Es esto correcto? –

+0

sí, esa es mi lectura también ... Esperaba encontrar un ejemplo específico de uso de FIFO, pero la muestra que mencioné fue la más cercana. –

+0

Gracias Jim. Si pongo uno que valga la pena publicar, lo agregaré aquí. –

1

Tomado de MSDN:

SessionId: Si un mensaje tiene el conjunto de propiedades Microsoft.ServiceBus.Messaging.BrokeredMessage.SessionId, entonces Service Bus utiliza la propiedad SessionId como la clave de partición. De esta forma, todos los mensajes que pertenecen a en la misma sesión son manejados por el mismo intermediario de mensajes. Esto permite que Service Bus a garantice el orden de los mensajes, así como la consistencia de los estados de la sesión.

Para una muestra de codificación que emplea SessionId y AcceptSessionReceiversee.

Cuestiones relacionadas