asp.net里如何清空页面缓存的后台代码(因为只有GET请求会有缓存)
题描述:当使用ajax的时候,很有可能出现同一次请求,这里。比如buttonA修改了数据,而buttonB导出数据,如果两个按钮都采用ajax的技术来做的话,实际上buttonB在第二次点击以后,不会重新从数据库里获得一次数据,而是直接将缓存页发送给客户端。恩~这么做是好的,但是不是我们希望的。所谓使用了Ajax产生了不可预计的结果,有一部分可能也许就在于此。所以我要做的就是每次GET请求的时候都去清空缓存,然后再生成页面发送给客户端。代码如下: |
#region 清空客户端页面缓存 :
public static void ClearClientPageCache()
{
HttpContext.Current.Response.Buffer = true; HttpContext.Current.Response.Expires = 0; HttpContext.Current.Response.ExpiresAbsolute = DateTime.Now.AddDays(-1); HttpContext.Current.Response.AddHeader("pragma", "no-cache"); HttpContext.Current.Response.AddHeader("cache-control", "private"); HttpContext.Current.Response.CacheControl = "no-cache";
}
#endregion 在需要的地方调用即可。