Lektion 6: Empfangen der Antwort und Beenden der Konversation

Neu: 15. September 2007

In dieser Lektion lernen Sie, wie die Antwortnachricht vom Zieldienst empfangen und die Konversation beendet wird. Führen Sie diese Schritte mit einer Kopie von Management Studio aus, die auf dem gleichen Computer wie die Initiatorinstanz von Datenbankmodul ausgeführt wird.

Vorgehensweisen

Wechseln zur InitiatorDB-Datenbank

  1. Kopieren Sie den folgenden Code, und fügen Sie ihn in ein Abfrage-Editorfenster ein. Führen Sie ihn danach aus, um den Kontext zur InstInitiatorDB-Datenbank zu wechseln, wo Sie die Antwortnachricht empfangen und die Konversation beenden.

    USE InstInitiatorDB;
    GO
    

Empfangen der Antwort und Beenden der Konversation

  1. Kopieren Sie den folgenden Code, und fügen Sie ihn in ein Abfrage-Editorfenster ein. Führen Sie ihn dann aus, um die Antwortnachricht zu empfangen und die Konversation zu beenden. Die RECEIVE-Anweisung ruft die Antwortnachricht von InstInitiatorQueue ab. Die END CONVERSATION-Anweisung beendet die Initiatorseite der Konversation. Die letzte SELECT-Anweisung zeigt den Text der Antwortnachricht an. Sie können so sicherstellen, dass sie mit der im letzten Schritt gesendeten übereinstimmt.

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

Nächste Schritte

Damit ist das Lernprogramm abgeschlossen. Lernprogramme sind kurze Übersichten und beschreiben nicht alle verfügbaren Optionen. Lernprogramme weisen eine vereinfachte Logik und Fehlerbehandlung auf, damit die grundlegenden Vorgänge besser hervorgehoben werden können. Zum Erstellen effizienter, zuverlässiger und stabiler Konversationen benötigen Sie komplexeren Code als in dem Beispiel in diesem Lernprogramm.

Zurückkehren zu den Service Broker-Lernprogrammen

Service Broker-Lernprogramme

Siehe auch

Andere Ressourcen

RECEIVE (Transact-SQL)
END CONVERSATION (Transact-SQL)
WAITFOR (Transact-SQL)
Service Broker Programming Basics

Hilfe und Informationen

Informationsquellen für SQL Server 2005