Определение внутрипроцессных поставщиков событий

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

Сведения в определении приложения предоставляют ядру данные, необходимые для локализации, инициализации и запуска внутрипроцессных поставщиков событий.

Типы внутрипроцессных поставщиков событий

Внутрипроцессные поставщики событий могут быть непрерывными или запланированными.

  • Непрерывный поставщик событий запускается и останавливается вместе с ядром. Такой поставщик определяет, как и когда отправлять события.
    При разработке пользовательского непрерывного поставщика событий необходимо использовать интерфейс IEventProvider.
  • Запланированный поставщик событий запускается вместе с ядром и включается для проверки новых событий через заданные интервалы времени.
    Расписание задается в определении приложения.
    При разработке пользовательского запланированного поставщика событий необходимо использовать интерфейс IScheduledEventProvider.

Задание внутрипроцессного поставщика событий

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

Определение внутрипроцессного поставщика событий

При определении приложения посредством XML необходимо определить внутрипроцессные поставщики событий в элементе Providers файла определения приложения (ADF). Если приложение определяется с помощью управляющих объектов служб Notification Services, то необходимо отдельно указать объекты HostedEventProvider и добавить их к HostedEventProviderCollection с помощью свойства приложения HostedEventProviders.

Имя поставщика событий

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

Определение имени поставщика событий

Имя класса

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

  • Для пользовательских внутрипроцессных поставщиков событий имя класса должно соответствовать соглашению об именах платформы Microsoft .NET Framework Namespace.ClassName. Дополнительные сведения о соглашениях об именах пространства имен см. в разделе Правила именования пространства имен в библиотеке Microsoft MSDN.
  • Для стандартных поставщиков событий служб Notification Services имя класса не должно включать пространства имен. Используйте имя класса, предоставленное в документации к поставщику событий. Дополнительные сведения см. в разделе Стандартные поставщики событий.

Определение имени класса

Имя сборки

При определении пользовательского поставщика событий предоставляется имя сборки, содержащей класс внутрипроцессного поставщика событий. Имя должно включать или полный путь, или полное имя сборки.

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

Определение имени сборки

Системное имя

Свойство системного имени определяет имя системы, на которой запускается внутрипроцессный поставщик событий. Обычно это имя компьютера. Если поставщик событий выполняется на отказоустойчивом кластере, то это имя виртуального сервера.

На компьютере должны быть установлены клиентские компоненты служб Notification Services и должен быть зарегистрирован экземпляр службы.

Дополнительные сведения о горизонтальном масштабировании приложения см. в разделе Конфигурации с горизонтальным масштабированием.

Определение системного имени

Расписание

Не следует задавать расписание при определении непрерывного поставщика событий, включающего всех стандартных поставщиков событий и любого пользовательского поставщика событий, которые используют интерфейс IEventProvider.

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

Расписание имеет следующие свойства:

  • Свойство начального времени определяет время дня (24-часовой период) в UTC, которое службы Notification Services используют, чтобы рассчитать значения времени вызова запланированного поставщика событий. Например, если начальное время составляет 10:00 и интервал три часа, то время вызова запланированного поставщика событий будет соответствовать 10:00, 13:00, 16:00 и т. д. Если приложение запускается в 12:32, то поставщик событий запускается первый раз в 13:00. Другие примеры см. в разделе StartTime Element for HostedProvider/Schedule (ADF).
  • Свойство интервала определяет частоту запуска запланированного поставщика событий.

Определение расписания для запланированного поставщика событий

Время ожидания

Каждый внутрипроцессный поставщик событий должен полностью выполнять обработку в пределах заданного интервала времени. Если внутрипроцессный поставщик событий не завершает обработку в заданном интервале, то интервал текущей обработки отменяется.

Значение времени ожидания у внутрипроцессных поставщиков событий равно пяти минутам. Можно задать другое значение времени ожидания.

Определение значения времени ожидания для внутрипроцессного поставщика событий

ProviderTimeout Element (ADF) (ADF)

Свойство Timeout (NMO)

Аргументы

Службы Notification Services могут передавать аргументы поставщикам событий. Если внутрипроцессный поставщик событий использует аргументы, то задайте в определении поставщика событий имена и значения аргументов.

Если используется поставщик событий, разработанный сторонним производителем, то к нему должна прилагаться документация по необходимым и дополнительным аргументам. Дополнительные сведения об аргументах стандартных поставщиков событий см. в разделе Стандартные поставщики событий.

Определение аргументов поставщиков событий

См. также

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

Определение внепроцессных поставщиков событий

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

Определение приложений служб Notification Services
Разработка пользовательского поставщика событий
Определение поставщиков событий
Определение классов событий
Стандартные поставщики событий

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

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