2012-08-28 17 views
9

Zajmuję się kolejkami magistrali usług Azure (NOT Kolejki do przechowywania Azure). Wszystkie szczegóły, które przeczytałem, wskazują, że obsługuje on FIFO semantics, ale tylko w kontekście "Przesyłania wiadomości". Problem polega na tym, że nie mogę znaleźć żadnych informacji o tym, co to dokładnie jest w kontekście Azure. Czy jest to konstrukt WCF, czy coś, co jest szczególnie ważne dla usługi Azure Service Bus? Zakładam, że nie dotyczy to transakcji lokalnych, ale nie jestem w 100% pewny.Magistrala usług Azure i sesje przesyłania komunikatów

Wszelkie wskazówki byłyby bardzo pomocne. Dzięki!

Odpowiedz

9

W szczególności odnosi się do MessageSession, a to jest metoda AcceptMessageSession, która przechowuje klucz przez zwrócenie wiadomości tylko dla danego identyfikatora sesji, który może być sekwencją sugerującą pewne uporządkowanie. Próbka Brokered Messaging: Session Messages powinna pomóc w wyjaśnieniu, a dokument Best Practices jest kolejnym świetnym odniesieniem.

+0

Jim - dzięki za odpowiedź. Jeśli rozumiem, identyfikator sesji może służyć do zamawiania wiadomości, ale w strukturze nie ma nic, co mogłoby zapewnić te identyfikatory sesji. Znaczy to, że musisz wygenerować numery sekwencji, które będą używane dla identyfikatorów sesji dla FIFO. Czy to jest poprawne? –

+0

tak, to także moja lektura ... Miałem nadzieję znaleźć konkretny przykład użycia FIFO, ale próbka, o której wspomniałem była najbliższa. –

+0

Dzięki Jim. Jeśli umieściłem jeden, który warto opublikować, dodam go tutaj. –

1

Zrobione z MSDN:

sessionid: Jeśli wiadomość zawiera zestaw właściwości Microsoft.ServiceBus.Messaging.BrokeredMessage.SessionId, a następnie Service Bus wykorzystuje właściwość SessionId jako klucz partycji. W ten sposób wszystkie wiadomości należące do tej samej sesji będą obsługiwane przez ten sam broker komunikatów. Umożliwia to Service Bus na zagwarantowanie porządku wiadomości oraz spójności stanów sesji.

Dla próbki kodującej zatrudniającej SessionId i AcceptSessionReceiversee.