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

王朝c#·作者佚名  2006-12-17
窄屏简体版  字體: |||超大  

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

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航