簡體   English   中英

從MVC2升級到MVC4后,ASP.NET輸出緩存不起作用

[英]ASP.NET Output Caching not working after upgrade from MVC2 to MVC4

我們有一個現有的MVC2項目,我們首先按照以下步驟將其升級到MVC4,以獲取MVC3,然后按照這些步驟將其獲取到MVC4。

在我們的MVC2項目中,輸出緩存已經成功運行了很長時間,但是在MVC4版本之后,它不再起作用。

我添加了一個簡單的控制器來測試緩存:

 public class TestController : Controller
 {
    [OutputCache(Duration = 600, VaryByParam = "*")]
    public ActionResult CacheTest()
    {
        return Content(DateTime.Now.ToLongTimeString());
    }
 }

每次刷新此頁面時,輸出到瀏覽器的時間都會改變。

在相同的解決方案中創建一個新的MVC3項目,然后升級到MVC4,然后按預期的方式復制相同的代碼。

因此,我們現有代碼或配置中的某些地方肯定會破壞輸出緩存。

我還嘗試過從web.config文件中刪除大量內容,以為有問題的原因-沒運氣。

有關如何解決或調試此問題的任何建議?

更新:

在任何視圖中呈現上面的CacheTest操作將顯示緩存的結果-即日期在每次刷新時都不會更改:

<% Html.RenderAction("CacheTest", "Test"); %>

為什么行得通,但從未緩存來自瀏覽器的操作網址?

原來這是第三方庫51Degrees的問題 這是此庫的最新版本中引入的一個問題。 在從MVC2轉換為MVC4的過程中,我安裝了nuget軟件包,該軟件包比我使用的先前版本晚幾個版本。

錯誤警報-與ASP.NET MVC升級或任何與ASP.NET相關的無關。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM