Занятие 6. Получение ответа и завершение диалога
Добавления: 15 сентября 2007 г.
На этом занятии вы узнаете, как получать ответное сообщение от целевой службы и заканчивать диалог. Выполните эти шаги в среде Management Studio на том же компьютере, что и вызывающий экземпляр компонента Database Engine.
Процедуры
Переключиться в базу данных InitiatorDB
Скопируйте и вставьте следующий код в окно редактора запросов. После этого выполните его; контекст переключится обратно в базу данных InstInitiatorDB, в которой будет получено ответное сообщение и завершится диалог.
USE InstInitiatorDB; GO
Получить ответ и завершить диалог
Скопируйте и вставьте следующий код в окно редактора запросов. Затем запустите его, чтобы получить сообщение ответа и завершить диалог. Инструкция RECEIVE получает ответное сообщение из очереди InstInitiatorQueue. Инструкция END CONVERSATION завершает работу вызывающей стороны диалога. Последняя инструкция SELECT выводит текст ответного сообщения, чтобы можно было убедиться, что это то же самое сообщение, которое отправлено на последнем шаге.
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
Следующие шаги
На этом шаге работа с учебником завершается. Учебники содержат только краткий обзор и не описывают все доступные возможности. Учебники направлены на усвоение фундаментальных операций, поэтому в них упрощены логика и обработка ошибок. Чтобы создавать эффективные и надежные диалоги, требуется более сложный код, чем представленный в этом учебнике.
Вернуться к учебникам по компоненту Service Broker
Учебники по компоненту Service Broker
См. также
Другие ресурсы
RECEIVE (Transact-SQL)
END CONVERSATION (Transact-SQL)
WAITFOR (Transact-SQL)
Service Broker Programming Basics