使用SQL服务器的通知服务

ZDNet软件频道 时间:2002-12-30 作者:BUILDER.COM |  我要评论()
本文关键词:
SQL服务器通知服务是一个为用户提供特定事件通知的通用框架,它构建在SQL服务器2000和.NET Framework上。让我们来看看通知服务框架的结构,然后再看看你该如何在应用程序里使用它。

你是否曾经在eBay上购买过东西或者通过在线贸易程序监视过库存?电子邮件通知让你能够极其方便地了解价格的变化、体育比赛的分数、拍卖竞标,这样的特性在任何大量使用的系统里通常都是可以要求添加的功能。但是提供通知这项功能意味着要编写大量的内部代码,而且在原有应用程序上加入通知功能几乎需要重写代码。

微软最近发布了一个工具包,你可以用它来给应用程序添加通知的功能,而只会造成相对少的影响。SQL服务器通知服务是一个为用户提供特定事件通知的通用框架,它构建在SQL服务器2000和.NET Framework上。通知服务框架就目前的使用而言是足够完备的,但是它的扩展性和自定义能力也是很强的。让我们来看看通知服务框架的结构,然后再看看你该如何在应用程序里使用它。

通知服务构架

通知服务涉及三个主要的概念:事件、订阅和通知,而且它使用几个不同的组件来管理通知用户的进程。整件事都是由一套NT服务控制的,服务器上运行的每个通知服务实例都有一套服务。

事件一般代表所发生的任何真实或者虚拟事情。事件可以在多种情况下被触发:在某种商品的数量下降到特定水平的时候,订购的商品运送到消费者的时候,或者甚至是某个文件或者其他共享的资源被修改的时候。你也可以创建不依赖特定条件的日常定期事件。用于事件的数据——它们采取COM对象的形式,包括.NET类、XML文档或者SQL服务器的存储过程——由事件提供程序生成。通知服务有两种内置的事件提供程序:

  • 文件系统守护程序监视着指定的系统目录,同时还监视着新的XML文件。在发现有新文件的时候,它依据文件所包含的数据生成一个事件。你可以使用文件系统守护程序从外部访问到事件。
  • SQL服务器的事件提供程序使用一个专用的SQL查询来监视特定表格数据的变化,并根据查询的结果生成事件。显然,这个提供程序对于根据应用程序的数据生成事件是很有用的。


订阅是定义用户感兴趣事件类型的规则。订阅管理对象API提供了一个管理订阅的通用接口。叫做生成器的通知服务组件会周期地运行,对事件和定阅者进行匹配。

通知是关于专用事件的通过任何方法送到订阅者的信息。通知服务包括通过电子邮件、HTTP和修改磁盘文件对通知的支持。你也可以提供自己的通知方法,例如即时信息。有一个分配器组件,它能够使用XSLT或者你所提供的任何自定义方法把来自事件的数据格式化成通知。


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134