第 6 課:接收回覆並結束交談

適用於:SQL ServerAzure SQL 受控執行個體

在這一課,您將學會從目標服務接收回覆訊息並結束交談。 開啟 SQL Server Management Studio (SSMS),並連線到具有 Service Broker 啟動器的SQL Server。 然後從 SSMS 中的查詢視窗執行這些步驟。

程序

切換至 InitiatorDB 資料庫

  • 將下列程式碼複製並貼入 [查詢編輯器] 視窗中。 然後,執行此程式碼以便將內容切換回 InstInitiatorDB 資料庫,如此您就可以在其中接收回覆訊息並結束交談。

        USE InstInitiatorDB;
        GO
    

接收回覆並結束交談

  • 將下列程式碼複製並貼入 [查詢編輯器] 視窗中。 然後,執行此程式碼以便接收回覆訊息並結束交談。 RECEIVE 陳述式會從 InstInitiatorQueue 中擷取回覆訊息。 END CONVERSATION 陳述式會結束交談的起始端。 最後一個 SELECT 陳述式會顯示回覆訊息的文字,如此您就可以確認它是否與上一個步驟中傳送的訊息相同。

        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
    

後續步驟

這總結教學課程。 教學課程僅是簡介, 不會描述全部的可用選項。 教學課程使用精簡邏輯及錯誤處理,無法在實際執行環境中使用。 若要建立有效率、可靠及健全的交談,您需要比此教學課程中更複雜的程式碼。

另請參閱