Пользовательские поставщики событий

Пользовательские поставщики событий представляют собой пользовательские компоненты, передающие данные события приложениям служб Notification Services. При разработке пользовательского поставщика событий необходимо определить тип разрабатываемого поставщика событий, источник данных события и API-интерфейс, используемый для передачи данных.

Типы пользовательских поставщиков событий

Пользовательские поставщики событий могут быть внутрипроцессными или внепроцессными (независимыми). Внутрипроцессные поставщики событий запускаются сервером-поставщиком ядра служб Notification Services.

Разработка внутрипроцессных поставщиков событий может быть более простой, поскольку они могут использовать сервер-поставщик служб Notification Services. Также внутрипроцессные поставщики событий могут включаться и отключаться подобно другим компонентам служб Notification Services. Дополнительные сведения о разработке внутрипроцессных поставщиков событий см. в разделе Разработка внутрипроцессных поставщиков событий.

Внепроцессные поставщики событий могут функционировать вне системы служб Notification Services. Они полезны при наличии существующей инфраструктуры, которую нужно использовать для передачи событий, или когда события необходимо передавать по требованию. Дополнительные сведения о разработке внепроцессных поставщиков событий см. в разделе Разработка внепроцессных поставщиков событий.

Сбор данных события

Существует множество способов сбора данных. Например, можно послать запрос к базе данных, выполнить синтаксический анализ XML-файла или передать данные посредством Microsoft Windows или веб-формы. Триггер для сбора данных может быть либо операцией в приложении, принудительно отправляющей данные поставщику событий, либо плановым опросом источника данных.

Знание источника данных, формата и модели коллекции помогает в выборе интерфейса API для передачи событий.

API-интерфейсы для передачи событий

После определения источника данных можно выбрать API-интерфейс для передачи событий. Службы Notification Services имеют три интерфейса API для передачи событий.

  • Если данные доступны в XML-формате, то можно использовать класс EventLoader для записи одного или нескольких событий из источника XML-данных в базу данных приложения. Встроенный поставщик событий отслеживания файловой системы использует класс EventLoader.
  • Если данные находятся в базе данных SQL Server, то можно использовать хранимые процедуры пересылки событий для записи отдельных событий или собирать и пересылать данные, используя запрос на языке Transact-SQL. Встроенный поставщик событий SQL Server использует эти хранимые процедуры.
  • При наличии других источников событий можно использовать управляемый API-интерфейс для передачи событий. С использованием этого API-интерфейса создается объект Event для каждого события, после чего используется объект EventCollector для сбора событий в пакет и передачи его в базу данных приложения.

В каждом из этих трех интерфейсов API события пересылаются в базу данных пакетами. Они становятся видимыми для приложений только после фиксации пакета событий.

Эти три интерфейса API для передачи событий продемонстрированы на нижеприведенной диаграмме:

Архитектура обработки событий

Использование пользовательских поставщиков событий

Чтобы использовать пользовательский поставщик событий, его необходимо объявить в определении приложения. Дополнительные сведения см. в разделе Определение поставщиков событий.

См. также

Основные понятия

Использование API-интерфейса передачи управляемого события
Использование API-функции загрузчика XML-событий
Использование хранимых процедур отправки событий

Другие ресурсы

Разработка пользовательского поставщика событий

Справка и поддержка

Получение помощи по SQL Server 2005