约定

约定用于定义应用程序完成特定任务时所用的消息类型。约定是两个服务间关于每个服务该发送哪些消息才能完成特定任务的协议。约定定义保存在在其中创建消息类型的数据库中。

在参与会话的每个数据库中应创建相同的约定。例如,如果人力资源应用程序要验证雇员 ID,则请求验证的服务必须知道另一个服务需要的消息类型。发出请求的服务还必须知道自己需要接收哪些类型的消息,以便准备处理它们。

约定用于指定完成所需工作要用的消息类型。约定还指定会话中可使用每个消息类型的参与者。某些消息类型可由任一参与者发送;而其他消息类型则只限发起方或目标方进行发送。约定必须包含由发起方发送或由任一参与者发送的消息类型;否则,发起方无法发起一个使用该约定的会话。

Service Broker 还包含一个名为 DEFAULT 的内置约定。DEFAULT 约定只包含消息类型 SENT BY ANY。如果 BEGIN DIALOG 语句中没有指定约定,则 Service Broker 将使用 DEFAULT 约定。

例如,约定可具有消息类型 SubmitRequestProcessRequestRequestStatus。只有起始端点可使用消息类型 SubmitRequest,而只有目标端点可发送 ProcessRequest 类型的消息。会话的任一参与者可发送 RequestStatus 类型的消息。RequestStatus 消息类型可使参与者在其处理中查看目标的位置,或者与发起方核实与此请求有关的任何并行处理的状态。

请参阅

概念

消息类型

其他资源

CREATE CONTRACT (Transact-SQL)
DROP CONTRACT (Transact-SQL)
Creating Service Broker Contracts

帮助和信息

获取 SQL Server 2005 帮助