Compartir a través de


Lección 6: Recibir la respuesta y finalizar la conversación

Se aplica a: SQL Server Azure SQL Managed Instance

En esta lección, obtendrá información sobre cómo recibir el mensaje de respuesta del servicio de destino y finalizar la conversación. Abra SQL Server Management Studio (SSMS) y conéctese a la instancia de SQL Server que tiene el iniciador de Service Broker. A continuación, ejecute estos pasos desde la ventana de consulta en SSMS.

Procedimientos

Cambiar a la base de datos InitiatorDB

  • Copie y pegue el código siguiente en una ventana del Editor de consultas. A continuación, ejecútelo para cambiar el contexto de nuevo a la base de datos InstInitiatorDB donde recibirá el mensaje de respuesta y finalizar la conversación.

        USE InstInitiatorDB;
        GO
    

Recibir la respuesta y finalizar la conversación

  • Copie y pegue el código siguiente en una ventana del Editor de consultas. Después, ejecútelo para recibir el mensaje de respuesta y finalizar la conversación. La instrucción RECEIVE recupera el mensaje de respuesta de InstInitiatorQueue. La instrucción END CONVERSATION finaliza el lado del iniciador de la conversación. La última instrucción SELECT muestra el texto del mensaje de respuesta para que pueda confirmar que es el mismo que se envió en el último paso.

        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 received request.
        SELECT @RecvReplyMsg AS ReceivedReplyMsg;
    
        COMMIT TRANSACTION;
        GO
    

Pasos siguientes

Esto concluye el tutorial. Los tutoriales únicamente contienen información general. No describen todas las opciones disponibles. Los tutoriales usan una lógica simplificada y un control de errores y no se deberían usar en un entorno de producción. Para crear conversaciones eficaces, confiables y robustas, necesita un código más complejo que el ejemplo de este tutorial.

Vea también