Udostępnij za pośrednictwem


Lekcja 4: Począwszy od konwersacji

W tej lekcji dowiesz się na rozpoczęcie konwersacji, która obejmuje dwa wystąpienie Database Engine i wysłać komunikatu żądania z wystąpienie inicjatora do miejsce docelowe. Uruchom te czynności z kopii Management Studio uruchomiona na tym samym komputerze co wystąpienie inicjatora.

Procedury

Przełącz się do bazy danych InitiatorDB

  • Skopiuj i wklej następujący kod w oknie Edytor kwerend.Następnie uruchom go, należy przełączyć kontekst do InstInitiatorDB bazy danych w przypadku gdy rozpocznie się do konwersacji.

    USE InstInitiatorDB;
    GO
    

Rozpoczęcie konwersacji i wysłać wiadomość żądania

  • Skopiuj i wklej następujący kod w oknie Edytor kwerend.Następnie uruchom ją, aby rozpocząć konwersację i wysłać wiadomość żądania //TgtDB/2InstSample/TargetService in the InstTargetDB.Kod musi być uruchamiana w jeden blok, ponieważ zmienna jest używana do przekazania uchwyt okna dialogowego z instrukcja BEGIN DIALOG instrukcja SEND.Partia działa instrukcja BEGIN DIALOG rozpoczęcie konwersacji i następnie tworzy komunikat z żądaniem.Następnie użyto uchwyt okna dialogowego w instrukcja SEND do wysłania komunikatu żądania w tej konwersacji.Ostatniej instrukcja SELECT wyświetla tylko tekst wiadomości, która została wysłana.

    DECLARE @InitDlgHandle UNIQUEIDENTIFIER;
    DECLARE @RequestMsg NVARCHAR(100);
    
    BEGIN TRANSACTION;
    
    BEGIN DIALOG @InitDlgHandle
         FROM SERVICE [//InstDB/2InstSample/InitiatorService]
         TO SERVICE N'//TgtDB/2InstSample/TargetService'
         ON CONTRACT [//BothDB/2InstSample/SimpleContract]
         WITH
             ENCRYPTION = ON;
    
    SELECT @RequestMsg = N'<RequestMsg>Message for Target service.</RequestMsg>';
    
    SEND ON CONVERSATION @InitDlgHandle
         MESSAGE TYPE [//BothDB/2InstSample/RequestMessage]
         (@RequestMsg);
    
    SELECT @RequestMsg AS SentRequestMsg;
    
    COMMIT TRANSACTION;
    GO
    

Następne kroki

Masz pomyślnie uruchomić konwersacji i wysłał komunikat żądania do usługa miejsce docelowe.Następnie zostanie wyświetlony komunikat żądania z kolejka docelowa i wysłać wiadomość odpowiedzi do usługa inicjatora.Zobacz Lekcja 5: Odbiera żądanie i wysyłania odpowiedzi.