您好,欢迎来到中国最大的生活服务网站![登录][注册]
有问题先搜索一下: 高级搜索

已解决问题 - 浏览603次

下一个已解决问题

过客

60.195.117.*

在asp.net 中cache起什么作用 什么情况下使用

在什么情况下在asp.net中产生了 cache 类
在什么情况下又需要用到cache

还可输入300个字

请输入上图中的验证码,字母不区分大小写。

最佳答案 - 由投票者2008-08-10 12:42:02选出

小议优化ASP.NET应用性能之Cache篇-.NET教程,Asp.Net开发
http://www.z6688.com/info/48011-1.htm

ASP.NET中cache控制的方法

* 1
*

如果你不想让客户端缓存(cache)你服务器上的网页的话,在ASP.NET中可以这样控制:

在Page_Load中写:

Response.Cache.SetCacheability(HttpCacheability.NoCache);

我在测试的时候发现一些有趣的东西:

按HTTP 1.0的标准,你可以在html网页上直接使用 <meta http-equiv="pragma" content="no-cache" />

按HTTP 1.1的标准,你可以用:<meta http-equiv="Cache-Control" content="no-cache" />

为了保险起见当然是两个都用上。

但当我尝试在aspx页中加入这两个meta tag的时候,却看见返回的Response的Http Header里面居然显示Cache-Control: Private。

而且ASP.NET也没有办法通过程序来给Response写入pragma这个Http Header。

最后的方案是在aspx页中加入<meta http-equiv="pragma" content="no-cache" /> ,然后在程序中写Response.Cache.SetCacheability(HttpCacheability.NoCache);

这样,返回的Response里就有我预期的那两个header了:

Pragma: No-Cache

Cache-Control: No-Cache

觉得怪怪的。如果有哪位知道我哪里做错了,请赐教。



=========================================================

这里还有一些相关的文章:

How to: Set the Cacheability of an ASP.NET Page Declaratively

How to: Set the Cacheability of an ASP.NET Page Programmatically

还有fiddler这个工具不错,用来调试使用http协议的程序很不错:http://www.fiddlertool.com/fiddler/



另:最近多接触Http协议和各类RFC,觉得做标准也真是不容易,事无巨细面面俱到,最后发布了还要被人横挑鼻子竖挑眼。IT业有句话叫:三流企业做产品,二流企业做技术,一流企业做标准。确实也挺有道理。

参考资料

欢迎点击用户名下方的”向我提问“,答疑解惑,乐此不疲!

0 0
  • 过客

    过客

    61.144.179.*

    这些方法好象对firefox、谷歌浏览器不起作用。

还可输入300个字

请输入上图中的验证码,字母不区分大小写。

其他回答(1)

返回知识堂首页>>

生活画报

更多

1
关于雅虎 | 帮助中心 | 联系我们 | 诚聘英才 | 广告服务 | 壹推广服务 | 网站联盟 [更多]
Copyright © 2009 Yahoo.com.cn 版权所有 不得转载 | 使用须知 | 著作权声明 | 京ICP证000022号 | 国家药监局(京)-经营性-2004-0039
全球阿里巴巴 - 阿里巴巴网络:中国站 国际站 日文站 | 淘宝站 | 支付宝 | 中国雅虎 | 口碑网 | 阿里软件 | 阿里妈妈
文明办网举报热线 010-65986060