打印本文 打印本文 关闭窗口 关闭窗口
ASP.NET 2.0数据缓存功能简介 (转贴)
作者:武汉SEO闵涛  文章来源:敏韬网  点击数1945  更新时间:2009/4/23 10:46:13  文章录入:mintao  责任编辑:mintao
<configuration>

<connectionStrings>

<add name="PubsConn" connectionString="Initial Catalog=pubs;Data Source=(local);user id=sa;password=123456"/>

</connectionStrings>

<system.web>

<caching>

<sqlCacheDependency enabled="true" pollTime="500">

<databases>

<add name="Pubs" connectionStringName="PubsConn"/>

</databases>

</sqlCacheDependency>

</caching>

</system.web>

</configuration>

 

  其中,要注意的是polltime参数,polltime参数是毫秒,最小值为500,该参数的意义时设置系统多长时间去检查一次cache中的数据是否需要更新。而<database>标签内必须注明需要用到的数据库连接字符串,必须和之前<connectionStrings>中定义的名称相符合(如本例中,connectionstring的名称是pubsconn。

 

  最后,我们在程序的首部,加入页面缓存的定义语句如下:

 

<%@ outputcache duration="60" varybyparam="none" sqldependency="Pubs:authors" %>

 

  上面的语句,则定义了页面输出缓存为1分钟,并且使用sqldependency,sqldependency的属性中,以“名称:表名”的形式定义,其中的名称,就是刚才我们在web.config中定义的<databases>中的名称,这里是pubs。“Pubs:authors”中的authors,则是要使用sqldependency的表名authors表。在这里要注意的是,虽然我们是用vb.net,但sqldependency属性中的参数注定是大小写敏感的,如“Pubs:authors”中的表名authors必须和用Aspnet_regsql在命令行下定义的表名authors一样。

 

  运行我们的程序,先不修改数据库中的数据。如下图:

 

 

  我们不断刷新该应用,会发现由于使用了缓存功能,上面的时间是不变的。现在我们打开sql server,修改其中的au_id为172-32-1176的作者名white,将其改为RED,之后再刷新程序,看到了么?由于使用了sqldependency的功能,马上缓存中反映出新修改的数据了:

  

 

  本文简单介绍了在asp.net 2.0中新增加的sqldependency功能,该功能还有很多其他的应用,具体的可以参阅msdn相关资料。

上一页  [1] [2] 

打印本文 打印本文 关闭窗口 关闭窗口