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

类别:.NET开发 点击:0 评论:0 推荐:

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

本文地址:http://com.8s8s.com/it/it41693.htm