Asp.net mvc 如何在注销后使缓存的ajax请求过时

Asp.net mvc 如何在注销后使缓存的ajax请求过时,asp.net-mvc,http-caching,Asp.net Mvc,Http Caching,我正在使用以下设置执行AJAX调用: headers: { 'Cache-Control': 'max-age=30,private' } 服务器响应为: Response.Cache.SetCacheability(HttpCacheability.Private); Response.Cache.SetMaxAge(TimeSpan.FromMinutes(0.5)); 如我所料,浏览器将响应存储30

我正在使用以下设置执行AJAX调用:

  headers: {
                'Cache-Control': 'max-age=30,private' 
            }
服务器响应为:

 Response.Cache.SetCacheability(HttpCacheability.Private);
            Response.Cache.SetMaxAge(TimeSpan.FromMinutes(0.5));
如我所料,浏览器将响应存储30秒

但是,在注销后,我想删除缓存-我想清理缓存,以便在不久的将来支持不同的登录用户

我不想向请求中添加特定于用户的密钥。
还有其他可能性吗?

在global.asax.cs中,应用程序\u BeginRequest方法添加以下代码

Response.AppendHeader("Cache-Control", "no-cache, no-store, must-revalidate");
Response.AppendHeader("Pragma", "no-cache");
Response.AppendHeader("Expires", "0");

Thx,但这会阻止客户端的http缓存吗?至少“no cach”向我暗示了这一点….?这不可能在控制器操作级别上定义吗?是的,这将阻止客户端上的http缓存。您可以在控制器操作级别上定义它。把上面的代码放在注销功能中。嗯,实际上我还没有找到任何解决方案。我尝试了HttpContext.Response.Cache.SetCacheability(HttpCacheability.Public);HttpContext.Response.Cache.SetRevalidation(HttpCacheRevalidation.AllCaches);HttpContext.Response.Cache.SetMaxAge(TimeSpan.FromMinutes(2));HttpContext.Response.Cache.SetSlidingExpiration(true);在控制器操作中,其代表表示我不想在注销后被存储,但chrome仍会在接下来的2分钟内缓存请求写得很好的第一个问题搭档。欢迎来到StackOverflow(+1)