Asp.net

過期輸出記憶體 ASP.Net MVC

  • July 12, 2013

我在我的 MVC 應用程序中使用標準的 outputcache 標記,效果很好,但我需要強制它在某些時候被轉儲。我如何實現這一目標?被記憶體的頁面是從一個非常簡單的路由 {Controller}/{PageName} 建構的 - 所以大多數頁面都是這樣的:/Pages/About-Us

為了清楚起見,這是位於我的 .aspx 視圖頁面頂部的輸出記憶體標記:

<@ OutputCache Duration="100" VaryByParam="None" %>

因此,在更新內容的同一控制器上的另一個操作中,我需要轉儲此記憶體,甚至轉儲所有記憶體 - 這是一個非常小的應用程序,因此轉儲所有記憶體項目並不是什麼大問題。

小心使用“無”與“”。

  • 如果您發送“”,則不會發送Vary的 HttpHeader 。
  • 如果您發送“無”,則發送Vary 的 HttpHeader 。

我使用Fiddler來驗證這種行為。

這似乎會影響瀏覽器是否返回伺服器以檢查最新版本(導致 304)。至少在 Chrome 中是這樣。Varies=""如果您確定不想在文件過期之前更新文件,則可以使用它。

我建議Varies=""像在這篇文章中那樣使用。對於我的 javascript 文件,我不希望瀏覽器返回並發出另一個 Http 請求,直到它過期。304 是不必要的。

引用自:https://stackoverflow.com/questions/376851