ASP.NET数据缓存机制浅析

ASP.NET数据缓存机制主要是什么呢?让我们开始我们的讲解:  ◆页输出缓存:保存页处理输出,下次重用所保存的输出
  ◆应用程序缓存:允许缓存所生成的数据,如DataSet
  ㈠ASP.NET数据缓存页输出缓存
  1、ASP.NET数据缓存页输出缓存的几中形式
  ① ﹤%@
  OutputCache
  Duration= "60 "
  VaryByParam= "None "
  Location= "Any "%﹥
  Location指定在哪个地方缓存,Any任何地方都缓存。
  60秒以内看到的都是一样的了。
  ②还可在配置文件里写,然后在页面调用配置文件的缓存名称。
  ③用编程的方式:
  Response.Canche.SetExpires(DateTime.Now.AddSeconds(3));
  Response.Canche.SetCacheabiliy(HttpCacheability.Public);
  Response.Canche.SetValidUntilExpires(true);
  相当于:
  Public   =﹥  Any
  Private   =﹥Client
  NoCache   =﹥ None
  Server   =﹥   Server
  ServerAndPrivate   =﹥ ServerAndClient
  2、ASP.NET数据缓存使用文件依赖项缓存页输出
  产生背景:有时候,可能需要在文件发生更改时从输出缓存中移除某一项。就是说文件改了以后缓存立即失效。
  string   filepath   =   Server.MapPath( "TextFile1.txt ");
  Response.AddFileDependency(filepath);
  //添加缓存依赖项
  Response.Cache.SetExpires(DateTime.Now.AddSeconds(60));
  Response.Cache.SetCacheability(HttpCacheability.Public);
  Response.Cache.SetValidUntiExpires(true);
  3、ASP.NET数据缓存缓存多个版本
  ①使用请求的浏览器对页的各个版本进行缓存
  ﹤%
  @OutputCache   Duration= "10 "   VaryByParam= "None "   VaryByCustom= "browser "%﹥
  ②使用参数对页的各个版本进行缓存
  ﹤%@OutputCache   Duration= "60 "   VaryByParam= "City "%﹥
  这个调试可以在url后加QueryString
  如:…url?City=shanghai
  程序里得到这个上海然后再做其他的操作,这个时候如果参数传的还是shanghai它就不会在走到程序里了。
  4、ASP.NET数据缓存动态更新缓存页的部分,有三种方法可以实现部分不缓存
  ①已声明方式使用Substitution控件
  ﹤asp:Substitution   ID= "Substitution1 "   runat= "server "   MethodName= "GetCurrentDateTime "   /﹥
  public
  static
  string
  GetCurrentDateTime(HttpContext   context)
  {
  return   DateTime.Now.ToString();
  }
  //方法签名必须和委托签名一致
  ②以编程的方式使用Substitution控件API
  Response.WriteSubstitution(new   HttpResponseSubstitutionCallback(GetCurrentDateTime))
  ③以隐式方式使用AdRotator控件
  这个控件永远都是不缓存的
  ㈡ASP.NET数据缓存SQL   Server依赖的缓存,非常之有用
  当表数据发生改变就清除缓存
  1、ASP.NET数据缓存为SQL   Server启用缓存通知
  aspnet_regsql.exe   -S   ﹤Server﹥   -U   ﹤Username﹥   -P   ﹤Password﹥
  -ed -d   Northwind   -et   -t   Employees  Server:服务器
  Username:用户名
  Password:密码
  Northwind:数据库
  Employees:表
  2、ASP.NET数据缓存为缓存功能配置网页
  ﹤%
  @OutputCache   Duration= "3600 "   SqlDependency= "Northind:Employees "   VaryByParam= "none "%﹥
  3、ASP.NET数据缓存在Web.config文件中设置缓存配置
  ﹤caching﹥
  ﹤sqlCacheDependency   enabled= "true "   pollTime= "1000 "﹥
  ﹤database﹥
  ﹤add   name= "Northind "   connectionStringName= "… "   pollTime   =   "1000 "   /﹥
  ﹤/database﹥
  ﹤/sqlCacheDependency﹥
  ﹤/caching﹥
  ASP.NET数据缓存方面的内容就向你介绍到这里,希望对你了解ASP.NET数据缓存有所帮助。