Lezione 6: Ricezione della risposta e fine della conversazione

Si applica a:SQL ServerIstanza gestita di SQL di Azure

In questa lezione viene spiegato come ricevere il messaggio di risposta dal servizio di destinazione e terminare la conversazione. Aprire SQL Server Management Studio (SSMS) e connettersi alla SQL Server con l'iniziatore di Service Broker. Eseguire quindi questi passaggi dalla finestra di query in SSMS.

Procedure

Passare al database InitiatorDB

  • Copiare il seguente codice e incollarlo nella finestra dell'Editor di query. Eseguire quindi il codice per cambiare contesto passando al database InstInitiatorDB in cui si riceverà il messaggio di risposta e terminare la conversazione.

        USE InstInitiatorDB;
        GO
    

Ricevere la risposta e chiudere la conversazione

  • Copiare il seguente codice e incollarlo nella finestra dell'Editor di query. Quindi, eseguirlo per ricevere il messaggio di risposta e terminare la conversazione. L'istruzione RECEIVE recupera il messaggio di risposta da InstInitiatorQueue1DB. L'istruzione END CONVERSATION termina il lato iniziatore della conversazione. L'ultima istruzione SELECT visualizza il testo del messaggio di risposta, in modo da poter confermare che è uguale a quello inviato nell'ultimo passaggio.

        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
    

Passaggi successivi

Qui si conclude l'esercitazione. Le esercitazioni sono solo brevi introduzioni. Non presentano tutte le opzioni disponibili. Le esercitazioni usano una logica e una gestione degli errori semplificate e non devono essere usate in un ambiente di produzione. Per creare conversazioni efficienti, affidabili e solide, è necessario un codice più complesso dell'esempio mostrato in questa esercitazione.

Vedi anche