gpt4 book ai didi

asp.net - 应用 META 标签后,IE 仍会缓存页面内容几秒钟。该怎么办?

转载 作者:可可西里 更新时间:2023-11-01 17:13:51 24 4
gpt4 key购买 nike

我有一个场景,主网站(我无法控制)从 iframe 中加载我的网站。这是一个带有用户在主网站上选择的查询字符串参数的 GET。问题是 IE 将我的第一个页面缓存在该 iframe 中。

我应用了以下元标记:

<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate"/>
<meta http-equiv="Pragma" content="no-cache"/>
<meta http-equiv="Expires" content="0"/>

但是 IE 仍然缓存它大约 15 - 20 秒左右。因此,如果用户快速返回主网站并选择其他内容,他们将看到我第一页的缓存版本。我可以在这里做什么?

最佳答案

尝试通过设置适当的 HTTP 响应 header 来破坏服务器的缓存:

public class NoCacheAttribute : ActionFilterAttribute
{
public override void OnResultExecuting(ResultExecutingContext filterContext)
{
var cache = filterContext.HttpContext.Response.Cache;
cache.SetExpires(DateTime.UtcNow.AddDays(-1));
cache.SetValidUntilExpires(false);
cache.SetRevalidation(HttpCacheRevalidation.AllCaches);
cache.SetCacheability(HttpCacheability.NoCache);
cache.SetNoStore();
}
}

然后装饰应该为 <iframe> 服务的 Controller 操作具有此属性:

[NoCache]
public ActionResult Foo()
{
...
}

关于asp.net - 应用 META 标签后,IE 仍会缓存页面内容几秒钟。该怎么办?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7518359/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com