Lezione 6: Ricezione della risposta e fine della conversazione

Si applica a: SQL Server (tutte le versioni supportate) Istanza gestita di SQL di Azure

In questa lezione verranno descritte le procedure necessarie per 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

Passaggio al database InitiatorDB

  • Copiare e incollare il codice seguente in una 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
    

Ricezione della risposta e fine della conversazione

  • Copiare e incollare il codice seguente in una finestra dell'editor di query. Eseguire quindi il codice 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 initiator della conversazione. L'ultima istruzione SELECT visualizza il testo del messaggio di risposta per consentire di verificare che si tratti dello stesso messaggio 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

In questo modo si conclude l'esercitazione. Le esercitazioni forniscono brevi introduzioni e non illustrano tutte le opzioni disponibili. Le esercitazioni usano logica e gestione degli errori semplificate e non devono essere usate in un ambiente di produzione. Per creare conversazioni efficaci, affidabili ed efficienti, è necessario utilizzare codice più complesso rispetto a quello utilizzato nell'esempio dell'esercitazione.

Vedi anche