已解决问题 - 浏览603次
下一个已解决问题
过客
60.195.117.*
在asp.net 中cache起什么作用 什么情况下使用
在什么情况下在asp.net中产生了 cache 类
在什么情况下又需要用到cache
最佳答案 - 由投票者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业有句话叫:三流企业做产品,二流企业做技术,一流企业做标准。确实也挺有道理。
参考资料
欢迎点击用户名下方的”向我提问“,答疑解惑,乐此不疲!
-
过客
61.144.179.*
这些方法好象对firefox、谷歌浏览器不起作用。
其他回答(1)
-
缓冲区,功能简化访问数据库的次数













