我正在將應用程序從MVC3升級到MVC4,並注意到我認爲的東西(希望?)會「正常工作」。ASP.Net MVC4 Mobile-Aware OutputCache
CODE:
[OutputCache(Duration = 600, VaryByParam = "none")]
public ActionResult Index()
{
return View();
}
這是一個教科書高速緩存例如用於ASP.Net。無論瀏覽器何時訪問該頁面,它都會檢查緩存以查看是否存在某些內容,如果不存在則生成該視圖,然後發送緩存的結果。
This works great;然而,隨着MVC4的移動視圖功能,我注意到上述代碼不檢查是否來自移動設備的請求。因此,如果我在桌面上點擊該路線,桌面視圖將顯示在手機上,直到緩存失效。反過來也是如此(如果我首先用手機打開頁面,則桌面將會看到移動視圖)。
是否有一個參數可以用來完成這項工作,就像我希望或正在構建客戶OutputCacheProvider一樣?
很有意思,我有一個SI毛里求斯問題,謝謝! – Pelle 2012-03-08 08:21:53
切換到桌面視圖不適用於此代碼。該頁面只是刷新而不是切換。改爲使用context.GetVaryByCustomStringForOverriddenBrowser()。 – 2013-10-21 23:29:27