Разработка пользовательского протокола доставки
Службы Notification Services предоставляют стандартные протоколы доставки, которые можно непосредственно использовать в каналах доставки экземпляра. Однако, если необходима доставка уведомлений с использованием протокола, который не поддерживается стандартными компонентами, следует разработать пользовательский протокол доставки. Пользовательский компонент протокола доставки реализует требования к созданию и транспортировке сообщений сетевого протокола, делая их доступными в системе служб Notification Services.
Интерфейсы протоколов доставки
Разработка пользовательского протокола доставки включает разработку управляемого класса, реализующего один из двух интерфейсов, предоставляемых службами Notification Services:
- Интерфейс IHttpProtocolProvider предоставляется для облегчения разработки пользовательского протокола доставки на основе протокола HTTP. Он облегчает разработку протоколов на основе HTTP, предоставляя все функции, связанные с протоколом HTTP, так что необходимо создать только код для форматирования оболочки сообщений и обработки ответа сервера.
- Интерфейс IDeliveryProtocol используется для пользовательских протоколов доставки, реализующих другие протоколы, или для протоколов доставки на основе HTTP, требующих дополнительной гибкости по сравнению с предоставляемой IHttpProtocolProvider.
Оба этих интерфейса находятся в пространстве имен Microsoft.SqlServer.NotificationServices.
Пользовательский протокол доставки необходимо реализовать в виде класса в сборке управляемого кода. Эта сборка может быть расположена в любом месте, а полный путь к ней указывается в конфигурации экземпляра.
Объявление и использование пользовательских протоколов доставки
Для использования пользовательских протоколов доставки необходимо настроить приложения и экземпляры служб Notification Services.
- Каждый из пользовательских протоколов доставки необходимо объявить в конфигурации экземпляра. Дополнительные сведения см. в разделе Определение пользовательских протоколов доставки.
- Необходимо определить один или несколько каналов доставки, использующих пользовательский протокол доставки. Дополнительные сведения см. в разделе Определение каналов доставки.
- Необходимо объявить относящиеся к классу уведомлений данные, необходимые этому протоколу доставки. Дополнительные сведения см. в разделе Настройка протоколов доставки.
Веб-службы
Если пользовательский протокол доставки вызывает веб-службу и нужно использовать проверку подлинности Windows, то необходимо настроить ядро служб Notification Services для передачи учетных данных учетной записи-посреднику веб-службы. Свойства ядра можно настроить в файле NSService.exe.config.
Добавьте следующий XML-код в качестве потомка к элементу конфигурации:
<system.web>
<authentication mode="Windows" />
<identity impersonate="true" />
</system.web>
См. также
Задачи
Настройка ведения журнала событий служб Notification Services
Другие ресурсы
Стандартные протоколы доставки
Разработка пользовательских компонентов служб Notification Services