问题 Response.Cache.SetCacheability和Response.Cache.SetAllowResponseInBrowserHistory是什么意思?


Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Cache.SetAllowResponseInBrowserHistory(false);

在搜索身份验证时,我发现上面写了两行。他们的意思是什么?


5914
2017-10-04 11:54


起源



答案:


HttpCachePolicy.SetCacheability方法

NoCache:设置Cache-Control:no-cache标头。如果没有字段名称,该指令将应用于整个请求,并且共享(代理服务器)缓存必须在满足请求之前强制使用原始Web服务器成功重新验证。使用字段名称,该指令仅适用于命名字段;其余的响应可以从共享缓存提供。

HttpCachePolicy.SetAllowResponseInBrowserHistory方法

当HttpCacheability设置为NoCache或ServerAndNoCache时,Expires HTTP标头默认设置为-1;这告诉客户端不要在History文件夹中缓存响应,这样当您使用后退/前进按钮时,客户端每次都会请求新版本的响应。


11
2017-10-04 11:59





第一个告诉浏览器不要缓存此页面(看这里),第二个告诉浏览器不要在浏览历史记录中包含此页面(看这里)。


5
2017-10-04 11:56



为什么是downvotes?这个答案没有错。 - Carvellis
“谷歌是你的朋友”不是一个可接受的答案,只是令人沮丧。 - mcdrummerman


答案:


HttpCachePolicy.SetCacheability方法

NoCache:设置Cache-Control:no-cache标头。如果没有字段名称,该指令将应用于整个请求,并且共享(代理服务器)缓存必须在满足请求之前强制使用原始Web服务器成功重新验证。使用字段名称,该指令仅适用于命名字段;其余的响应可以从共享缓存提供。

HttpCachePolicy.SetAllowResponseInBrowserHistory方法

当HttpCacheability设置为NoCache或ServerAndNoCache时,Expires HTTP标头默认设置为-1;这告诉客户端不要在History文件夹中缓存响应,这样当您使用后退/前进按钮时,客户端每次都会请求新版本的响应。


11
2017-10-04 11:59





第一个告诉浏览器不要缓存此页面(看这里),第二个告诉浏览器不要在浏览历史记录中包含此页面(看这里)。


5
2017-10-04 11:56



为什么是downvotes?这个答案没有错。 - Carvellis
“谷歌是你的朋友”不是一个可接受的答案,只是令人沮丧。 - mcdrummerman


这些行阻止页面被缓存。


0
2017-10-04 11:56





在这 cache 使用以下语句控制:

Response.Cache.SetCacheability(HttpCacheability.NoCache);

0
2018-06-17 12:39



你可以在答案中添加更多内容吗? - Paul Bastide
不回答这个问题。 - mlg


我通过艰苦的方式和一天的研究发现了 Response.Cache.SetCacheability(HttpCacheability.ServerAndNoCache)

Global.asax.cs 文件:

protected void Application_PreSendRequestHeaders(Object sender, EventArgs e)
{
    Response.Cache.SetCacheability(HttpCacheability.ServerAndNoCache);
}

有助于在IE浏览器中使用新数据处理刷新弹出窗口。

设置它,第二次调用控制器打开弹出窗口并刷新服务器内部的数据。

希望它会帮助某人。


0
2018-02-23 15:58