第 6 课:接收答复和结束会话
新建日期: 2007 年 9 月 15 日
在本课中,您将学习如何从目标服务接收答复消息并结束会话。 请在与数据库引擎的发起方实例运行于同一台计算机的某个 Management Studio 副本中执行这些步骤。
过程
切换到 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 教程
请参阅
其他资源
RECEIVE (Transact-SQL)
END CONVERSATION (Transact-SQL)
WAITFOR (Transact-SQL)
Service Broker Programming Basics