当前位置: 移动技术网 > IT编程>开发语言>.net > asp.net页面SqlCacheDependency缓存实例

asp.net页面SqlCacheDependency缓存实例

2017年12月12日  | 移动技术网IT编程  | 我要评论

何麦芽,液位计,wish刷单

缓存技术是asp.net程序设计中非常实用的技术,也是大型web程序设计中比较常见的技术。本文就以实例形式对此加以说明。具体如下:

asp.net页面的sqlcachedependency sql缓存:

cahce/sqlcachepage.aspx页面代码如下:

<%@ page language="c#" masterpagefile="~/site.master" autoeventwireup="true" codefile="sqlcachepage.aspx.cs"
  inherits="cahce_sqlcachepage" title="页的sql缓存" %>
<%@ outputcache duration="999999" sqldependency="vs2005_test:sqlcache" varybyparam="none" %>
<asp:content id="content1" contentplaceholderid="contentplaceholder1" runat="server">
<p>
duration="999999" sqldependency="vs2005_test:sqlcache" varybyparam="none"<br />
如果是sqlserver2005则改成sqldependency="commandnotification<br />
注意配置文件中的配置
</p>
<p>
<%=datetime.now %>
</p>
</asp:content>

数据源控件的sql缓存:

cahce/sqlcachepage.aspx页面代码如下:

<%@ page language="c#" masterpagefile="~/site.master" autoeventwireup="true" codefile="sqlcachedatasourcecontrol.aspx.cs"
  inherits="cahce_sqlcachedatasourcecontrol" title="数据源控件的sql缓存" %>
<asp:content id="content1" contentplaceholderid="contentplaceholder1" runat="server">
<p>
datasource控件设置如下属性:enablecaching="true" sqlcachedependency="vs2005_test:sqlcache"
cacheduration="infinite"<br />
如果是sqlserver2005则改成sqldependency="commandnotification<br />
注意配置文件中的配置
</p>
<p>
<%=datetime.now %>
</p>
<p>
<asp:sqldatasource id="sqldatasource1" runat="server" enablecaching="true" sqlcachedependency="vs2005_test:sqlcache"
cacheduration="infinite" connectionstring="<%$ connectionstrings:sqlconnectionstring %>"
selectcommand="select * from [sqlcache]"></asp:sqldatasource>
<asp:gridview id="gridview1" runat="server" datasourceid="sqldatasource1" allowsorting="true">
</asp:gridview>
</p>
</asp:content>

web.config中的相关配置:

 <connectionstrings>
<add name="sqlconnectionstring" connectionstring="data source=.\sqlexpress;attachdbfilename=|datadirectory|\vs2005_test.mdf;integrated security=true;user instance=true"
providername="system.data.sqlclient" />
</connectionstrings>
<system.web>
<caching>
<sqlcachedependency enabled="true" polltime="10000">
<databases>
<add name="vs2005_test" connectionstringname="sqlconnectionstring" />
</databases>
</sqlcachedependency>
<!-- 如果是sqlserver2005的话,则只需如下设置,因为sqlserver支持基于通知的缓存失效
<sqlcachedependency enabled="true" />
-->
</caching>
</system.web>

注意:对于sql server 2005来说,基于通知的缓存失效,不用aspnet_regsql设置,要设置属性sqldependency="commandnotification"。在首次执行某 sql 查询之前,必须在应用程序某处调用 system.data.sqlclient.sqldependency.start() 方法。此方法应放在 global.asax 文件的 application_start() 事件中。

希望本文所述的缓存技术对大家的asp.net程序设计有所帮助。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网