快速业务通道

ASP.NET 2.0数据缓存功能简介

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-22
开数据库,会发现多了一个数据表aspnet_sqlcachetablesforchangenotification,如下图:

ASP.NET 2.0数据缓存功能简介

这个表有三个字段,“tableName”记录要追踪的数据表的名称,“notificationCreated”记录开始追踪的时间,“changeId”是一个int类型的字段,每当追踪的数据表的数据发生变化时,这个字段的值就加1。 此外还会在指定的数据库中增加几个存储过程,用来让ASP.NET引擎查询追踪的数据表的情况,并给要使用 Sqlcachedependency 的表加上若干触发器,分别对应到Insert、Update、Delete操作。ASP.NET引擎通过执行它加上的存储过程“AspNet_SqlCachePollingStoredProcedure”,这个存储过程直接返回“AspNet_SqlCacheTablesForChangeNotification”表的内容,让ASP.NET引擎知道哪个表的数据发生的变化。

接下来,我们用visual web developer 2005 beta,来创建一个website,往其中增加一个label标签,以显示当前执行的时间。并往其中增加一个gridview控件,用来显示来自pubs数据库的表authors,代码如下:

<%@ Page Language="VB" AutoEventWireup="false" CompileWith="Default.aspx.vb" ClassName="Default_aspx" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
 <asp:Label ID="Label1" Runat="server" Text="Label" Width="74px" Height="19px"></asp:Label> 
<br />
<asp:GridView ID="GridView1" Runat="server" DataSourceID="SqlDataSource1">
</asp:GridView>
<br />
<br />
<asp:SqlDataSource ID="SqlDataSource1" Runat="server" SelectCommand="SELECT * FROM authors"
ConnectionString="Initial Catalog=pubs;Data Source=localhost;user id=sa;password=123456">
</asp:SqlDataSource>
</form>
</body>
</html>

在default.aspx.vb的代码的page_load事件中,加入以下代码

Private Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Label1.Text = CType(System.DateTime.Now(), String)
End Sub

接下来,我们开始配置web.config文件。我们采用的配置文件如下:

<?xml version="1.0"?>
<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。

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

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号