Condividi tramite


Lezione 6: Ricezione della risposta e completamento della conversazione

Data creazione: 15 settembre 2007

In questa lezione verranno illustrate le procedure per ricevere il messaggio di risposta dal servizio di destinazione e terminare la conversazione. Eseguire questi passaggi da una copia di Management Studio in esecuzione nello stesso computer dell'istanza initiator di Motore di database.

Procedure

Passare al database InitiatorDB

  1. Copiare e incollare il codice seguente in una finestra dell'editor di query, quindi eseguirlo per ripristinare il contesto al database InstInitiatorDB in cui verrà ricevuto il messaggio di risposta e terminata la conversazione.

    USE InstInitiatorDB;
    GO
    

Ricevere la risposta e terminare la conversazione

  1. Copiare e incollare il codice seguente in una 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 dalla coda InstInitiatorQueue. L'istruzione END CONVERSATION termina la conversazione dal lato dell'initiator. L'istruzione SELECT finale visualizza il testo del messaggio di risposta per consentire di verificare che corrisponda al messaggio inviato nell'ultimo passaggio.

    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
    

Passaggi successivi

Questa lezione conclude l'esercitazione. Le esercitazioni forniscono brevi panoramiche e non illustrano tutte le opzioni disponibili. Sono caratterizzate da logica e gestione degli errori semplificate per concentrarsi meglio sulle operazioni fondamentali. Per creare solide conversazioni, efficienti e affidabili, è necessario un codice più complesso dell'esempio di questa esercitazione.

Tornare alle esercitazioni di Service Broker

Esercitazioni su Service Broker

Vedere anche

Altre risorse

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

Guida in linea e informazioni

Assistenza su SQL Server 2005