Lektion 6: Empfangen der Antwort und Beenden der Konversation

In dieser Lektion erfahren Sie, wie Sie die Antwortnachricht vom Zieldienst empfangen und die Konversation beenden. Führen Sie diese Schritte von einer Kopie von Management Studio aus, die auf demselben Computer ausgeführt wird wie die Initiatorinstanz von Database Engine (Datenbankmodul).

Verfahrensweisen

Wechseln zur InitiatorDB-Datenbank

  • Kopieren Sie den folgenden Code, und fügen Sie ihn in einem Abfrage-Editorfenster ein. Führen Sie den Code anschließend aus, um den Kontext wieder zur InstInitiatorDB-Datenbank zu wechseln, in der Sie die Antwortnachricht erhalten und die Konversation beenden.

    USE InstInitiatorDB;
    GO
    

Empfangen der Antwort und Beenden der Konversation

  • Kopieren Sie den folgenden Code, und fügen Sie ihn in einem Abfrage-Editorfenster ein. Führen Sie den Code anschließend aus, um die Antwortnachricht zu empfangen und die Konversation zu beenden. Die RECEIVE-Anweisung ruft die Antwortnachricht aus InstInitiatorQueue ab. Die END CONVERSATION-Anweisung beendet die Initiatorseite der Konversation. Die letzte SELECT-Anweisung zeigt den Text der Antwortnachricht an, sodass Sie bestätigen können, dass diese Nachricht mit der im letzten Schritt gesendeten Nachricht identisch ist.

    DECLARE @RecvReplyMsg NVARCHAR(100);
    DECLARE @RecvReplyDlgHandle UNIQUEIDENTIFIER;
    
    BEGIN TRANSACTION;
    
    WAITFOR
    ( RECEIVE TOP(1)
        @RecvReplyDlgHandle = conversation_handle,
        @RecvReplyMsg = message_body
      FROM InstInitiatorQueue
    ), TIMEOUT 1000;
    
    END CONVERSATION @RecvReplyDlgHandle;
    
    -- Display recieved request.
    SELECT @RecvReplyMsg AS ReceivedReplyMsg;
    
    COMMIT TRANSACTION;
    GO
    

Nächste Schritte

Damit ist das Lernprogramm beendet. Lernprogramme sind nur kurze Einführungen. Sie beschreiben nicht alle verfügbaren Optionen. Lernprogramme verwenden eine vereinfachte Logik und Fehlerbehandlung und sollten nicht in einer Produktionsumgebung verwendet werden.Um effiziente, zuverlässige und stabile Konversationen zu erstellen, benötigen Sie komplexeren Code als in dem Beispiel in diesem Lernprogramm.

Zu den Service Broker-Lernprogrammen zurückkehren

Service Broker-Lernprogramme