开发自定义传递协议

Notification Services 提供标准传递协议,您可以直接在您实例的传递通道中使用它们。不过,如果您希望使用标准组件提供的传递协议以外的其他协议传递通知,则必须开发自定义传递协议。自定义传递协议组件实现网络协议的消息创建和传输要求,从而可在 Notification Services 系统中访问该协议。

传递协议接口

开发自定义传递协议需要开发一个托管类,该托管类实现由 Notification Services 提供的两个接口之一:

  • 提供 IHttpProtocolProvider 接口是为了更轻松地开发基于 HTTP 的自定义传递协议。它提供所有与 HTTP 相关的功能,可简化基于 HTTP 的协议的开发,因此您只需提供用来格式化消息信封和处理服务器响应的代码。
  • IDeliveryProtocol 接口用于其他自定义传递协议(它们实现其他协议),或用于需要比 IHttpProtocolProvider 提供更高灵活性的基于 HTTP 的传递协议。

这两类接口都在 Microsoft.SqlServer.NotificationServices 命名空间中。

必须将自定义传递协议实现为托管代码程序集中的类。该程序集可驻留在任意位置,并使用实例配置中所提供的程序集的完整路径。

声明和使用自定义传递协议

必须将 Notification Services 实例和应用程序配置为使用自定义传递协议:

  • 必须在实例配置中声明每个自定义传递协议。有关详细信息,请参阅定义自定义传递协议
  • 必须定义一个或多个使用自定义传递协议的传递通道。有关详细信息,请参阅定义传递通道
  • 必须声明传递协议需要的特定于通知类的信息。有关详细信息,请参阅配置传递协议

Web 服务

如果自定义传递协议调用 Web 服务且您希望使用 Windows 身份验证,则必须配置 Notification Services 引擎以将其凭据传递给 Web 服务代理。在 NSService.exe.config 文件中配置引擎属性。

添加下列 XML 作为配置元素的子元素:

<system.web>
    <authentication mode="Windows" /> 
    <identity impersonate="true" /> 
</system.web>

请参阅

任务

配置 Notification Services 事件日志记录

其他资源

标准传递协议
开发自定义 Notification Services 组件

帮助和信息

获取 SQL Server 2005 帮助