技术开发 频道

温故知新ASP.NET 2.0(C#)(4) - Cache&SqlCacheDependency(缓存和SqlC


【IT168技术文档】

介绍
  存是在计算中广泛使用的一种技术,通过将经常访问的数据或存取开销较大的数据保留在内存或硬盘中来提高性能。在 Web 应用程序的上下文中,缓存用于在 HTTP 请求之间保留页或数据,在重用它们时可以不必耗费资源重新创建。


关键
  1、@OutputCache指令中的属性:
  Duration - 缓存时间(秒)
  VaryByParam - 根据使用 POST 或 GET 发送的名称/值对来改变缓存的结果(多参数用分号隔开)
  VaryByControl - 根据用户控件中的控件来改变缓存的片段(值是控件ID,多控件用分号隔开)
  CacheProfile - 调用配置文件中设置的缓存时间

  2、增加数据缓存时用Cache.Insert,可以指定缓存时间

  3、替换缓存(Substitution)- 回调函数要是静态的

  4、SqlCacheDependency
  配置文件中的配置
<system.web> <caching> <sqlCacheDependency enabled="true" pollTime="轮询时间(毫秒)"> <databases> <add name="名字" connectionStringName="连接字符串的名字" /> </databases> </sqlCacheDependency> <!-- 如果是SqlServer2005的话,则只需如下设置,因为SqlServer支持基于通知的缓存失效 <sqlCacheDependency enabled="true" /> --> </caching> </system.web>
  如果不是SqlServer2005的话,应该使用aspnet_regsql注册一下
  aspnet_regsql.exe -S "server" -E -d "database" -ed
  aspnet_regsql.exe -S "server" -E -d "database" -et -t "table"
  如果是Sql验证的话要把-E换成,-U(用户名),-P(密码)


示例
  页面输出缓存
  Cahce/Page.aspx
<%@ Page Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="Page.aspx.cs" Inherits="Cahce_Page" Title="页面输出缓存" %> <%@ OutputCache Duration="10" VaryByParam="none" %> <asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server"> <p> Duration="10" VaryByParam="none" </p> <p> <%=DateTime.Now %> </p> </asp:Content>
  API操作缓存
  Cahce/Page.aspx.cs
using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; public partial class Cahce_Page : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { /**//* 通过API设置缓存 不常用啊 // 相当于@OutputCache指令中的Duration属性 Response.Cache.SetExpires(DateTime.Now.AddSeconds(10)); // 以指定响应能由客户端和共享(代理)缓存进行缓存。 Response.Cache.SetCacheability(HttpCacheability.Public); // 过期时间可调 Response.Cache.SetSlidingExpiration(true); */ } }
0
相关文章