日期:2013-02-04  浏览次数:20549 次

  【导读】本文中,我想通过一个简单的Windows桌面表单示例(基于SQL Server 2005的范例数据库AdventureWorks)向读者展现SQL Server 2005中这种新的自动地通知任务机理。由于Visual Studio 2005的反动性变化,你可以极为容易地把这个例子更改到Web使用程序场合下。

  一、引言

  在开发多人同时访问的Web使用程序(其实不只这类程序)时,开发人员往往会在缓存策略的设计上狠下功夫。这是由于,如果将这种环境下不常变更的数据临时存放在使用程序服务器或是用户机器上的话,可以避免频繁地往返访问数据库—而数据库访问是要符出昂贵代价的。以往在低版本的SQL Server(SQL Server 2000及以前版本)中,当需求提供数据库内他人更新后的情况时,次要是通过轮询数据库机制来提供对数据库的不断查询;也可能是借助于存储于数据库表格中的触发器或者通过音讯队列方式来达到通知目的。如今,作为微软.NET 2.0战略的重要组成部分之一的SQL Server 2005初次引入了自动式通知(Query Notification)机制。SQL Server 2005在所使用数据更改时,会自动地通知你。这种新的设计模式会让你在系统数据未更新时,减轻浪费网络来回轮询的负担,从而有可能极大地提高系统功用。

  本文中,我想通过一个简单的Windows桌面表单示例(基于SQL Server 2005的范例数据库AdventureWorks)向读者展现SQL Server 2005中这种新的自动地通知任务机理。

  【另注】由于Visual Studio 2005的反动性变化,你可以极为容易地把这个例子更改到Web使用程序场合下。

  二、SQL Server 2005中的自动式通知

  自动式通知(也称为“查询通知”),是微软ADO.NET和SQL Server小组协作开发的新成果。它允许你对数据进行缓冲并且仅在SQL Server中的数据发生变化时才发出通知;一旦接到通知,你就可以刷新相应的缓冲区或者采取其它必要的措施。