Udostępnij za pośrednictwem


Tworzenie usługa Broker aplikacji

Ta sekcja zawiera ogólne omówienie struktury Service Broker Aplikacja, opisano niektóre z typowych strategii uruchamianie aplikacji korzystającej z Service Broker, a w tym artykule opisano podstawowe kroki w celu odbierania i przetwarzania wiadomości.

Aplikacja dla usługa inicjujący używa instrukcja BEGIN DIALOG do określenia informacji dotyczących usług na każdym z punktów końcowych i kontrakt serwisowej, że aplikacja będzie używać do komunikowania się.Aplikacja używa instrukcja SEND do wysłania do pierwszej wiadomości w konwersacji z usługa docelową.Aplikacja muszą być przygotowane do odbierania i przetwarzania wiadomości Service Broker, nawet jeśli kontrakt nie zezwala na usługa miejsce docelowe do zwracania wiadomości. Aplikacja inicjujący często jest zaimplementowany jako dwa oddzielne składniki.Jednym ze składników rozpoczęcia konwersacji; inny składnik przetwarza wiadomości w kolejce.

Aplikacja usługa miejsce docelowe odbiera i przetwarza wiadomości z usługa inicjujący.Aplikacja również muszą być przygotowane do odbierania i przetwarzania wiadomości Service Broker.

W zależności od potrzeb usługa część aplikacji, która przetwarza kolejki można uruchomić na kilka różnych sposobów.Aby uzyskać więcej informacji na temat uruchamiania aplikacji korzystającej z Service Broker, zobacz Wybieranie strategii Autostart.

Jednak uruchamiania aplikacji, aplikacja rozpocznie transakcję i użyto instrukcja przyjęcie do usuwania z kolejki wiadomości.Aplikacja pobiera dane z wiadomości i wykonuje wszelkie niezbędne przetwarzania.Jeśli to konieczne, aplikacja używa instrukcja SEND do wysyłania wiadomości w konwersacji na drugą stronę.Następnie aplikacja zatwierdza transakcję.W celu zwiększenia wydajności aplikacji może przetwarzać wiele wiadomości w obrębie tej samej transakcji.Usługi, które utrzymują stan często za pomocą instrukcja GET GROUP KONWERSACJI można zablokować grupa konwersacji, pobieranie stanu dla grupa konwersacji, a następnie przetwarzać wiele wiadomości dla grupa konwersacji.

Konwersacji będzie nadal występował, za pomocą instrukcji SEND i przyjęcie do przesyłania wiadomości między punkty końcowe.W dowolnym momencie w razie potrzeby albo uczestnik konwersacji może używać instrukcji BEGIN DIALOG na rozpoczęcie konwersacji z inną usługa, aby uzyskać dodatkowe informacje.Na przykład aplikacja, która przetwarza powiadomienie o zdarzeniu może zainicjowania innej konwersacji z usługa, która zapewnia personelu informacji do pobierania bieżących informacji kontaktowych przed wysłaniem się alert.

Podczas konwersacji został osiągnięty jego przeznaczenie, aplikacja w odpowiednim punkcie końcowym użyje instrukcja END KONWERSACJI zakończyć rozmowę.Inni uczestnicy odbiera wiadomości KONWERSACJI END i wysyła komunikat END KONWERSACJI na bok również.Po obydwu uczestników są wiadomości w KONWERSACJI END kończy się do konwersacji.

Jeśli wystąpi błąd, jeden uczestnik w konwersacji może wskazywać błąd przez kończenie konwersacji, używając klauzula WITH błąd.Używając klauzula WITH błąd kończy się do konwersacji, a następnie wysyła Service Broker komunikat o błędzie do innych uczestnik konwersacji.

Jeśli Service Broker wykrywa błąd lub konwersacji okres ważności wygaśnie, Service Broker kończy konwersacji i zwraca komunikat o błędzie do aktywnego uczestników. Jeśli Service Broker Nie można ustanowić konwersacji, tylko aktywnych uczestnik jest inicjujący aplikacji, a błąd jest dostarczany z usługa inicjujący. Jeśli jeden uczestnik już zakończył konwersacji, komunikat o błędzie jest dostarczana do innych uczestników.W przeciwnym razie błędu jest dostarczana do obydwu uczestników konwersacji.

In This Section