关于ASP.NET中的缓存问题的几种方式

80酷酷网    80kuku.com

  asp.net|缓存|问题1)缓存 ASP.NET 页
1以编程方式操作 HttpCachePolicy 类。
HttpCachePolicy.SetExpires
HttpCachePolicy.SetCacheability |NoCache
|Private
|Public
|Server
|ServerAndNoCache
|ServerAndPrivate
2<% OutputCache Duration="60" VaryByParam="None" %>Duration 和 VaryByParam 属性是必需的。


2)缓存 ASP.NET 页的某些部分
不变的部分缓存起来,不必总是请求服务器

控件头部,则该控件的一个版本将在输出缓存中存储 120 秒。
<% OutputCache Duration="120" VaryByParam="None" %>

或使用代码隐藏开发方法开发用户控件,则将以下属性包含在类声明的元数据中时,控件版本将在输出缓存中存储 120 秒。
[C#]
[PartialCaching(120)]

以上两法将仅缓存用户控件。
也可嵌套使用,在已缓存的页面或控件中缓存控件。

您可以在已为输出缓存指定的用户控件标记中声明 ID 属性,从而可以针对该用户控件的实例进行编程。但是,为了使代码正常工作,您必须显式验证该用户控件在输出缓存中存在。

!!可能的错误:
如果编写代码来操作一个包含 OutputCache 指令的用户控件,则将出现错误。

另外,如果页输出缓存设置为 100 秒,而用户控件输出缓存设置为 50 秒,则整个页将在输出缓存中存储 100 秒,而与用户控件较短的时间设置无关。
不过,如果页输出缓存存储持续时间比用户控件存储持续时间短,则将一直使用缓存用户输出控件,直到其存储时间到期为止,即使该页的其余部分已为某个请求重新生成。例如,如果页输出缓存设置为 50 秒,而用户控件输出缓存设置为 100 秒,则页的其余部分每到期两次,用户控件就到期一次。


3)缓存应用程序数据
允许您将需要大量的服务器资源来创建的对象存储在内存中。它是由 Cache 类实现的,实例是每个应用程序专用的,其生存期依赖于该应用程序的生存期。重新启动应用程序后,将重新创建 Cache 对象。

具体内容见ms-help://MS.VSCC.2003/MS.MSDNQTR.2003FEB.2052/cpguide/html/cpconcacheapis.htm

分享到
  • 微信分享
  • 新浪微博
  • QQ好友
  • QQ空间
点击: