当前位置:编程学习 > C#/ASP.NET >>

防止浏览器缓存问题

在asp.net 中
pageload 事件里加入
Context.Response.Cache.SetCacheability(HttpCacheability.NoCache) 能够禁止浏览器缓存该页面。

但是,参照很多资料禁止浏览器缓存可以在head 标签里用
<META http-equiv="Pragma" content="No-Cache">
<META http-equiv="Cache-Control" content="No-Cache">
<META http-equiv="Expires" content="-1">

遗憾的是,这种方法不管用。

想弄明白的一个问题是,Context.Response.Cache.SetCacheability(HttpCacheability.NoCache) 发送到浏览器的内容是什么。
查看html源码没有发现 类似<META 的代码。

--------------------编程问答-------------------- HttpCachePolicy想弄明白的一个问题是,Context.Response.Cache.SetCacheability(HttpCacheability.NoCache) 发送到浏览器的内容是什么。
查看html源码没有发现 类似 <META 的代码。

===========

实际上写入的信息在 HTTP 响应头(header)中,html源码(这是响应体body)当然看不见了,但是通过 fiddler (google,plz)等 http 调试工具就可以清清楚楚看见了

你可以通过程序的方式 访问 Response.Headers 来观察响应头的变化

这是根据标准 HTTP 协议实现的 Cache 策略
(有关更多信息,请参见 RFC 2616:超文本传送协议 -- HTTP/1.1,此文档位于 WWW 联合会 (W3C) 网站。有关完整的详细信息,请具体参见第 14.9 节“缓存控制”和第 13 节“HTTP 中的缓存”。)

User-Agent 如代理服务器、终端浏览器,就是通过 header 来获取相关信息的
--------------------编程问答--------------------
引用楼主 wangdotnet 的帖子:
<META http-equiv="Cache-Control" content="No-Cache"> 

这种方法是服务器端的缓存禁用.
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,