一、設置頁面緩存
1、直接在頁面上用<%@ OutputCache Duration="10" VaryByParam="None" %>聲明來緩存頁面
2、使用服務端方法:
//將Cache-Control標頭設置為HttpCacheAbility值
Response.Cache.SetCacheability(HttpCacheability.Public);
//將頁面的絕對過期時間
Response.Cache.SetExpires(DateTime.Now.AddSeconds(20));
3、對用戶的請求以304響應
DateTime dt;
//從http請求頭獲取If-Modified-Since值,判斷該值與當前的差值是否超出要緩存的時間,如果超出則重新加載頁面,否則以304響應
DateTime.TryParse(Request.Headers["If-Modified-Since"], out dt);
if ((DateTime.Now - dt).TotalSeconds < 30.0) {
Response.StatusCode = 304;
Response.End();
return;
}
//第一次加載的時候要設置Last-Modified為當前時間,下次再次請求當前頁的時候會將該值以If-Modified-Since發送到服務端
Response.Cache.SetLastModified(DateTime.Now);
二、不用頁面緩存
1、如果是靜態的css或js文件則可以在文件后加上參數?t=234
2、服務端則可以使用:
//設置http標頭的Cache-Control:no-store
Response.Cache.SetNoStore();