第 6 课:添加事件提供程序
在本课中,将配置一个非宿主事件提供程序,以后向 Weather 应用程序提交事件时将使用该提供程序。然后,将升级 Notification Services 实例,应用对应用程序数据库所做的更改。
事件提供程序概述
事件提供程序可以收集事件数据,并将其提交给 Notification Services。事件提供程序提交一组事件时,会将事件提交给一个事件类视图。该组事件(称为“事件批次”**)将被插入事件类视图。然后,每个事件将成为基础事件类表中的一行。
为了帮助您快速开发和部署 Notification Services 应用程序,Notification Services 包含了三个标准的宿主事件提供程序、一个文件系统观察器、SQL Server 事件提供程序和 Analysis Services 事件提供程序。使用这些事件提供程序,可以方便地从一个 XML 文件收集事件,使用 Transact-SQL 查询收集事件,以及使用 MDX 查询收集事件。Notification Services 引擎承载了上述所有事件提供程序。也就是说,Notification Services 引擎可以启动和运行宿主事件提供程序。
您可以在应用程序定义中指定预定义的名称和自定义操作参数,以此在应用程序中使用标准的事件提供程序。有关详细信息,请参阅定义事件提供程序。
如果标准事件提供程序不符合应用程序的要求,则可开发事件提供程序,以适应具体的环境和事件源。Notification Services 引擎可以承载自定义事件提供程序。自定义事件提供程序也可以是非宿主事件提供程序。
非宿主事件提供程序是独立的应用程序,该程序向通知应用程序提交事件,但不以 Notification Services 引擎为宿主。如果要定义一个非宿主事件提供程序,则需在 ADF 中为该非宿主事件提供程序指定一个名称。此名称将用于跟踪事件收集和排除事件收集故障。
WeatherSPEventProvider 事件提供程序
对于此应用程序,将在 ADF 中添加一个非宿主事件提供程序。如前所述,将为此事件提供程序提供一个名称,以便以后可以确定该程序提交给应用程序的事件。
事件提供程序的名称为 WeatherSPEventProvider。稍后,将使用存储过程向 Weather 应用程序提交事件,并在提交事件时使用 WeatherSPEventProvider 这个名称。
在 ADF 中添加提供程序代码
本部分的 XML 定义了非宿主事件提供程序。检查 XML,然后按照说明将 XML 复制到 ADF。
在 ADF 中添加提供程序代码
单击**“复制代码”**以将 XML 复制到 Windows 剪贴板。
<!-- Event Providers --> <Providers> <NonHostedProvider> <ProviderName>WeatherSPEventProvider</ProviderName> </NonHostedProvider> </Providers>
在解决方案资源管理器中,打开 WeatherADF.xml。
用刚刚复制的 XML 替换以下注释。
<!-- Replace with Providers XML -->
在**“文件”菜单上,选择“保存 WeatherADF.xml”**。
更新 Notification Services 的实例
修改了 ADF 后,即可更新 Notification Services 实例,将事件提供程序的定义添加到应用程序数据库中。
更新 Notification Services 的实例
在对象资源管理器中,展开 Notification Services。
右键单击 Tutorial,指向**“任务”,再选择“更新”**。
在**“更新实例”对话框中,单击“浏览”,找到 TutorialICF.xml 文件,再单击“打开”**。
在**“参数”**网格中,查看参数的值。使用与创建该实例时相同的值。
单击**“确定”**。
查看**“Notification Services - 更新摘要”对话框,再单击“更新”**。
更新操作完成后,单击**“关闭”**。
查看在应用程序数据库中所做的更改
更新实例时,Notification Services 会将有关事件提供程序的信息添加到 TutorialWeather 应用程序数据库中的 NSProviders 表中。
查看 TutorialWeather 事件提供程序
在解决方案资源管理器中,展开 Weather,再展开**“查询”**。
双击 ViewEventProviders.sql。
您可能必须连接到数据库引擎实例。
按 F5 运行 Transact-SQL 查询。
下一课
请参阅
概念
其他资源
定义事件提供程序
生成通知解决方案
SQL Server Notification Services 简介