[英]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.