MVC 全站開啓緩存,緩解服務器的請求壓力

 1         protected void Application_BeginRequest()
 2         {
 3           //獲取當前請求的url
 4             string url = HttpContext.Current.Request.Path;
 5             //獲取請求的文件後綴名
 6             string extension = Path.GetExtension(url);
 7             //因爲MVC動態頁面不帶後綴,全部其餘有後綴的都加上緩存
 8             if (string.IsNullOrWhiteSpace(extension)) return;
 9 
10              HttpResponse Response = HttpContext.Current.Response;
11              Response.Cache.SetCacheability(HttpCacheability.Public);
12              Response.Cache.SetMaxAge(new TimeSpan(8760, 0, 0));
13              Response.Cache.SetExpires(DateTime.Now.AddYears(1));
14         }    

 

此舉的好處就是用戶在第一次訪問網站後,圖片,腳本,樣式等其餘靜態資源都會被加上緩存頭,只要用戶不去清除本地的資源,下次訪問時,瀏覽器就會自動判斷這些靜態資源的有效期,若是在有效期內就不會像服務端發起請求,緩存服務器的請求壓力。但隨之而來的就時每次更新靜態資源,必定要在後面加上版本號,這樣纔會告知瀏覽器這是新的資源,應該向服務端請求下,不然用戶還會一直看到舊資源,而不是更新後的資源。瀏覽器

相關文章
相關標籤/搜索