本文介绍命名 Service Broker 对象的注意事项。 对于公共接口对象、网络和安全配置对象以及队列,约定略有不同。
公共接口对象
Service Broker 应用程序的公共接口由约定、服务和消息类型组成。 因为这些对象的名称包含在消息中,所以这些对象的命名约定通常遵循统一资源定位符 (URI) 命名约定。 这有助于确保对象名称的唯一性。
服务名称也可使用这些约定来指定路由中的网络地址。 这种情况下,可以在传输路由中使用服务名称。 有关路由的详细信息,请参阅 Service Broker 路由。
发送和接收消息时,Service Broker 使用这些对象名称的二进制匹配。 因此,在命名公共接口对象时,需要特别留意具有多个二进制表示形式的字符。
网络安全配置对象
路由和远程服务绑定的名称从不包括在消息中。 为方便起见,这些名称可使用相应对象配置的服务名称。
这些对象不能是临时对象。 因此,数字符号(#)在这些对象的名称中并不重要。 名称以 # 开头的对象为永久对象,而非临时对象。
队列
队列名称可用于接受表名称的许多语句。 因此,队列名称遵循标准 SQL Server 标识符约定,但有一种例外情况。 由于队列不能是临时对象,因此队列的名称不能以数字符号(#)开头。 队列是由架构所拥有的对象,所以队列名称可以包括架构名称和数据库名称。