首页 > 编程 > .NET > 正文

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

2024-07-10 12:56:56
字体:
来源:转载
供稿:网友
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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表