第 6 课:接收答复并结束会话
在本课中,您将学习接收来自目标服务的答复消息和结束会话。从与数据库引擎发起方实例运行在同一台计算机上的 Management Studio 副本中执行这些步骤。
过程
切换到 InitiatorDB 数据库
复制以下代码并将其粘贴到查询编辑器窗口中。然后,运行代码以将上下文切换回 InstInitiatorDB 数据库,您将在其中接收答复消息并结束会话。
USE InstInitiatorDB; GO
接收答复并结束会话
复制以下代码并将其粘贴到查询编辑器窗口中。然后,运行代码来接收答复消息并结束会话。RECEIVE 语句检索来自 InstInitiatorQueue 的答复消息。END CONVERSATION 语句将结束会话的发起方一端。最后一条 SELECT 语句显示答复消息的文本,以便您确认它是否与上一步中发送的消息相同。
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
后续步骤
本步骤将结束教程。教程只是简要的概述,并不能说明所有可能的情况。教程使用的是简化的逻辑和错误处理方法,不应用于生产环境。若要创建高效、可靠和强健的会话,您需要比教程中的示例更为复杂的代码。