通知分发

Notification Services 使用订阅方设备、传递通道和传递协议(详见下面的介绍)来确定传递通知的方式和条件。本主题还将说明这些对象的相互关系,以及如何为应用程序定义这些对象。

传递通道

传递通道表示一个特定的传递端点。传递通道可以是电子邮件服务器或操作系统文件。每个传递通道都有一个关联的传递协议,用于封装通知并将其发送到传递端点。

您可以在配置 Notification Services 实例时,在实例配置中定义传递通道。实例承载的所有应用程序都使用同一组传递通道。

传递协议

传递协议就是对传递方法的实现,如用于电子邮件的简单邮件传输协议 (SMTP) 和用于文本消息传递的短消息服务 (SMS)。传递协议将已格式化的通知与传递系统所需的任何信息(如电子邮件的地址和主题)包装在一起,然后将通知发送给它的传递通道。

您可以为应用程序的每个通知类配置传递协议。对于通知类支持的每个传递方法,您可以提供传递协议配置信息,Notification Services 使用该信息来确定通知数据与传递方法的要求之间的映射方式。例如,为了支持电子邮件传递和文本消息传递,应定义 SMTP 传递协议和 SMS 传递协议。传递协议本身可以是 Notification Services 附带的标准传递协议,也可以是实现特定传递方法的自定义传递协议。

为 Notification Services 实例定义传递通道时,可以将传递协议与每个传递通道关联起来。多个传递通道可以使用相同的传递协议。例如,可以有两个使用文件传递协议的传递通道。每个传递通道可以将通知写入不同的文件。

如果使用的是自定义传递协议,则必须在实例配置中声明协议类名和程序集名称。

将通知与传递协议和通道关联

定义应用程序时,可以将通知类与一个或多个传递协议关联,并将每个传递通道与一个传递协议关联。但是,单个通知如何与传递协议和通道关联呢?

开发订阅管理界面时,您可以收集有关订阅方及其订阅的信息。使用此界面,订阅方可以配置一个或多个据以接收通知的订阅方设备。每个订阅方设备都包含订阅方 ID、传递通道名称和地址。

订阅方创建订阅时,订阅管理界面必须将设备名称与订阅关联。界面既可以对订阅方设备进行硬编码,也可以让订阅方在已经配置的设备之间进行选择。

Notification Services 生成通知时,通知将包含订阅规则提供的订阅方 ID 和设备名。需要传递通知时,分发服务器将获取订阅方设备的传递通道和地址,然后获取与传递通道关联的传递协议。此时,Notification Services 将拥有封装通知并将其发送给传递通道所需的信息。

定义传递信息

开发应用程序时,必须定义分发通知所需的所有信息。

  • 对于每个通知类,声明通知类支持的所有传递协议。可以为每个通知类指定多个传递协议。有关详细信息,请参阅配置传递协议
  • 如果拥有任何自定义传递协议,可在实例配置中声明它们。(Notification Services 可以识别所有标准传递协议。)有关详细信息,请参阅定义自定义传递协议
  • 在实例配置中定义每个传递通道(包括它的传递协议)。有关详细信息,请参阅定义传递通道
  • 设计订阅管理界面,以指定每个订阅方设备使用的传递通道。这既可以通过硬编码实现,也可以让用户选择一个值。指定的传递通道必须是实例配置中定义的传递通道之一。有关详细信息,请参阅开发订阅管理界面
  • 在生成通知的订阅规则中,将订阅方 ID、设备名和订阅方区域设置字段插入到通知表中。有关详细信息,请参阅定义订阅规则

请参阅

概念

通知的格式化和传递体系结构
定义自定义传递协议
定义传递通道
定义订阅规则

其他资源

定义通知类
定义 Notification Services 应用程序
配置传递协议
开发订阅管理界面

帮助和信息

获取 SQL Server 2005 帮助