asp.net页面SqlCacheDependency缓存实例

 更新时间:2014年08月25日 14:38:21   转载 投稿:shichen2014  
这篇文章主要介绍了asp.net页面SqlCacheDependency缓存实例,以一个完整实例来展现asp.net中缓存技术的使用方法,需要的朋友可以参考下

缓存技术是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程序设计有所帮助。

相关文章

  • 高效的使用 Response.Redirect解决一些不必要的问题

    高效的使用 Response.Redirect解决一些不必要的问题

    这篇文章主要介绍了如何高效的使用 Response.Redirect解决一些不必要的问题,需要的朋友可以参考下
    2014-05-05
  • ASPNET中JSON的序列化和反序列化的方法

    ASPNET中JSON的序列化和反序列化的方法

    这篇文章主要介绍了ASPNET中JSON的序列化和反序列化的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2016-11-11
  • Coolite Cool Study 3 MVC + Coolite 的实现代码

    Coolite Cool Study 3 MVC + Coolite 的实现代码

    啊,开始以为MVC+Coolite结合的例子没什么难度,但原来Coolite在MVC中需要特定设置一下某些属性才行,费了两个小时才算大功告成,具体请看下文。还是先把这个例子的效果贴上来再说。
    2009-05-05
  • ASP.NET Core中调整HTTP请求大小的几种方法详解

    ASP.NET Core中调整HTTP请求大小的几种方法详解

    这篇文章主要给大家介绍了关于在ASP.NET Core中如何调整HTTP请求大小的几种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2017-12-12
  • Asp.net 图片文件防盗链(尊重劳动成果)及BeginRequest事件学习

    Asp.net 图片文件防盗链(尊重劳动成果)及BeginRequest事件学习

    关于图片盗链这个问题,毕竟是自己的劳动成功,很多人不希望别人就那么轻易地偷走了;反盗链的程序其实很简单,熟悉ASP.NET 应用程序生命周期的话很容易就可以写一个,运用HttpModule在BeginRequest事件中拦截请求就ok了
    2013-01-01
  • Visual Studio 2010配置OpenCV的方法

    Visual Studio 2010配置OpenCV的方法

    这篇文章主要为大家详细介绍了Visual Studio 2010配置OpenCV的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-11-11
  • asp.net中ViewState的用法详解

    asp.net中ViewState的用法详解

    本文给大家介绍asp.net中viewstate的用法,涉及到viewstate的原理、用法、与session的对比等方面的知识,对viewstate用法感兴趣的朋友一起看看吧
    2015-10-10
  • ASP.NET MVC5网站开发文章管理架构(七)

    ASP.NET MVC5网站开发文章管理架构(七)

    继上一篇把member的用户部分完成,现在开始做文章管理部分。文章部分根据涉及显示现实文章列表,发布文章,修改和删除文章等功能。最终的实现目标是使用权限来控制用户是否能进行相应操作,管理员权限的会显示全部文章列表和我的文章列表,普通用户只显示我的文章列表。
    2015-09-09
  • Global.cs中自动获取未处理的异常

    Global.cs中自动获取未处理的异常

    在一个项目中为了能捕获异常最常用的方法就是try{}catch{}了,但是事实上并不可能将所有的异常考虑到位。因此有人就想除了被try{}catch{}捕获的异常其余未被处理的异常均由全局应用程序也就是Global来捕获处理
    2011-12-12

最新评论