在我工作的公司ASP.NET MVC2瀏覽器緩存,我們有一個ASP.NET MVC2開發和IIS7託管的Web應用程序。與HTTP304狀態代碼
在一個特定的行動,我們返回一個JsonResult物體保持的陣列。此數組每天更新;所以任何來自同一天的請求都會以相同的響應結束。
public ActionResult SomeAction(int id)
{
// Some calculations
return Json(resultArray, JsonRequestBehavior.AllowGet);
}
由於操作成本高昂,我們希望通過瀏覽器緩存等提高性能。
我加了一個緩存頭,所以我們告訴用戶的瀏覽器緩存結果直到該數據庫的一次更新。
除此之外,我想添加一個「的Last-Modified」頭,所以瀏覽器會詢問如果電源是在指定日期之後修改。
完成這個的方法是什麼?我想檢查日期瀏覽器詢問(Last-Modified標題)後數據庫是否被修改,如果沒有修改,我想返回304只是IIS自動爲靜態文件(圖像,css和js文件等)做的
[你知道輸出緩存的屬性吧?](http://msdn.microsoft.com/en-us/library/system.web.mvc.outputcacheattribute.aspx) – bzlm
是的,但outputcache屬性需要編譯時間定義的持續時間,我需要在運行時檢查數據庫的最後修改日期。 – SadullahCeran
沒錯。但是,你真正的問題是什麼?這聽起來像你有一切想通了。如果你設置了Expires和Last-Modified以及Cache-Control的東西,那麼不是所有東西都可以工作嗎? – bzlm