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

在這一課,您將學會從目標服務接收回覆訊息並結束交談。請從與 Database Engine 起始端執行個體在相同電腦上執行的 Management Studio 副本執行這些步驟。

程序

切換至 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
    

後續的步驟

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

返回 Service Broker 教學課程

Service Broker 教學課程