开发自定义传递协议
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 组件