定义宿主事件提供程序
宿主事件提供程序由 Notification Services 引擎承载。当引擎启动时,它会初始化所有已启用的宿主事件提供程序并运行它们。
您在应用程序定义中给出的信息为引擎提供了查找、初始化以及运行宿主事件提供程序所需的信息。
宿主事件提供程序的类型
宿主事件提供程序既可以是连续的,也可以是预定的:
- 连续的事件提供程序在引擎启动时启动,在引擎停止时停止。它管理如何以及何时提交事件。
如果您开发自定义的连续事件提供程序,则必须实现 IEventProvider 接口。 - 预定的事件提供程序在引擎启动时启动,并被触发以按预定的间隔检查新的事件。
您可以在应用程序定义中提供计划。
如果您开发自定义的预定事件提供程序,则必须实现 IScheduledEventProvider 接口。
定义宿主事件提供程序
每个应用程序都可以具有宿主事件提供程序。当定义应用程序时,您可以定义应用程序使用的每个事件提供程序(包括事件提供程序名称之类的属性)、实现事件提供程序的类、包含类的程序集以及初始化事件提供程序所需的所有参数。
定义宿主事件提供程序
如果您通过 XML 定义应用程序,则请在应用程序定义文件 (ADF) 的 Providers 元素中定义宿主事件提供程序。如果您使用 Notification Services 管理对象 (NMO) 定义应用程序,则请使用应用程序的 HostedEventProviders 属性分别定义 HostedEventProvider 对象,然后将这些对象添加到 HostedEventProviderCollection 中。
- HostedProvider Element (ADF)
- HostedEventProvider (NMO)
事件提供程序名称
事件提供程序名称标识提交每批事件的事件提供程序。当您对应用程序进行调试、疑难解答以及监视时,通常将事件提供程序名称作为参数提供。
定义事件提供程序名称
- Name Element for HostedProvider/Arguments/Argument (ADF)
- HostedEventProvider (NMO) 对象的 Name 属性
类名称
对于每个宿主事件提供程序,您必须提供实现事件提供程序的类的名称。
- 对于自定义宿主事件提供程序,类名称必须符合 Microsoft .NET Framework 命名约定 Namespace.ClassName。有关命名空间命名约定的详细信息,请参阅 Microsoft MSDN 库中的 Namespace Naming Guidelines。
- 对于标准的 Notification Services 事件提供程序,类名称不包含命名空间。请使用事件提供程序文档中提供的类名称。有关详细信息,请参阅标准事件提供程序。
定义类名称
程序集名称
如果您定义自定义事件提供程序,则提供包含宿主事件提供程序类的程序集的名称。该名称必须包含完全限定路径或完全限定程序集名称。
如果您定义标准事件提供程序,则不要定义程序集名称。定义标准事件提供程序的类位于核心 Notification Services 程序集中。
定义程序集名称
系统名称
系统名称属性指定运行宿主事件提供程序的系统的名称。该值通常为计算机名称。但是,如果事件提供程序在故障转移群集上运行,则该值为虚拟服务器名称。
必须在计算机上安装 Notification Services 客户端组件,并且必须在计算机上注册实例。
有关扩展应用程序的详细信息,请参阅扩展配置。
定义系统名称
计划
如果您定义包含所有标准事件提供程序的连续事件提供程序以及实现 IEventProvider 接口的任何自定义事件提供程序,则不要定义计划。
如果您定义实现 IScheduledEventProvider 接口的预定事件提供程序,则必须为事件提供程序定义计划。
计划具有下列属性:
- 开始时间属性指定每天(24 小时制)Notification Services 用于计算预定事件提供程序调用时间的时间(采用 UTC 格式)。例如,如果您的开始时间为 10:00 并且间隔为 3 小时,则预定的事件提供程序调用时间为 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 应用程序
开发自定义事件提供程序
定义事件提供程序
定义事件类
标准事件提供程序