我們有一個現有的MVC2項目,我們剛剛升級到MVC4,之後是第一個these steps,轉到MVC3,然後these steps轉到MVC4。從MVC2升級到MVC4後,ASP.NET輸出緩存不起作用
輸出緩存在我們的MVC2項目中已經成功運行了很長時間,但在MVC4版本之後它不起作用。
我添加了一個簡單的控制器來測試緩存:
public class TestController : Controller
{
[OutputCache(Duration = 600, VaryByParam = "*")]
public ActionResult CacheTest()
{
return Content(DateTime.Now.ToLongTimeString());
}
}
每次我刷新此頁面,時間輸出到瀏覽器的變化。
在這個相同的解決方案中創建一個新的MVC3項目,然後升級到MVC4,然後複製這個相同的代碼。
因此,我們現有的代碼或配置中的任何地方都會出現中斷輸出緩存的情況。
我也嘗試從web.config文件中剝離出一大堆東西,以爲有些東西會導致問題 - 沒有運氣。
有關如何解決或調試此問題的任何建議?
UPDATE:
渲染上述CacheTest行動的任何視圖將顯示緩存的結果 - 即日期不會在每次刷新更改:
<% Html.RenderAction("CacheTest", "Test"); %>
爲什麼這項工作,但行動來自瀏覽器的url永遠不會被緩存?
你使用的是同一個網絡服務器嗎?你是否從卡西尼改爲IIS Express? – 2012-07-22 17:54:21
這裏沒有改變。我還在win2008服務器上驗證了IIS 7.5上的相同不良結果。 – jaminto 2012-07-23 01:40:55