管理Web浏览器的缓存

时间:2016-02-04 06:00:29

标签: javascript asp.net caching webforms

我试图避免在浏览器中存储缓存,但我的应用程序url仍显示在缓存中。

我在母版页面加载方法中使用了以下代码来禁用浏览器缓存:

Response.Cache.SetCacheability(HttpCacheability.ServerAndNoCache);
Response.Cache.SetAllowResponseInBrowserHistory(false);
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Cache.SetExpires(DateTime.Now.AddSeconds(-1));
Response.Cache.SetNoStore();
Response.AddHeader("Pragma", "no-cache");

另外还尝试在html页面中使用元标记,但仍然在以下浏览器路径中缓存显示:
1.chrome://cache/
?2。关于:高速缓存存储=磁盘&安培;上下文=

1 个答案:

答案 0 :(得分:0)

您可以通过执行以下步骤来避免存储缓存 1.转到App_Start
2.单击FilterConfig文件 3.在文件中输入以下代码

public class NoCacheResponseHeaderFilter:ActionFilterAttribute
    {
        public override void OnActionExecuted(ActionExecutedContext actionExecutedContext)
        {
            actionExecutedContext.HttpContext.Response.Cache.SetCacheability(HttpCacheability.NoCache);
            actionExecutedContext.HttpContext.Response.Cache.AppendCacheExtension("no-store,must-revalidate");
            actionExecutedContext.HttpContext.Response.AppendHeader("Pragma", "no-cache");
            actionExecutedContext.HttpContext.Response.AppendHeader("Expires", "Fri, 01 Jan 1990 00:00:00 GMT");
        }
    }

以上代码将在刷新浏览器时清除浏览器缓存,因为它将在页面呈现之前调用过滤器方法。
希望这会有所帮助。