有沒有什麼辦法可以通過控制器動作參數使用outputcache屬性來改變緩存?我們有varybyparam,如果我的參數以REST方式嵌入到URL中,那麼這將不起作用。ASP.NET MVC緩存因控制器動作參數而異
2
A
回答
5
緩存默認以這種方式工作。不同的URL會給出不同的緩存位置。也許你的問題中有一些缺失,但正如所述,它已經以這種方式工作。
10
在Action方法中實現'VaryByParam'並不意味着'通過參數傳遞到該操作方法中不同'這一點也很重要。它意味着'不同的參數被傳入那個起源於HTTP參數的動作方法'。
[OutputCache(CacheProfile = "ContentPage", VaryByParam = "mode")]
public ActionResult Index(string key, string mode)
{
}
比方說對於這種操作方法的路線是:
routes.MapRoute(
"video-route-short",
"video/{key}",
new { controller = "Video", action = "Index", key = (string)null }
);
克雷格以上說的,關鍵參數是URL的一部分,因此緩存並不適用於它 - 所以它是基本上總是被緩存。
將通過'?mode=1
'類型發送的模式參數將應用於緩存。
相關問題
- 1. ASP.NET MVC 2控制器不緩存
- 2. ASP.NET MVC緩存因身份驗證而異
- 3. MVC 4:多控制器動作參數
- 4. MVC控制器動作參數爲空
- 5. ASP.NET MVC 2向控制器動作提交表單和參數
- 6. Asp.net MVC控制器參數null當從javascript調用動作時
- 7. 將ArrayList參數傳遞給控制器動作ASP.NET MVC
- 8. ASP.NET MVC F#控制器動作忽略參數
- 9. asp.net的MVC ActionFilterAttribute - 重定向到 「控制器/動作/參數」
- 10. ASP.NET MVC:在控制器遞增計數器,被緩存
- 11. ASP.NET MVC獲取ID參數控制器
- 12. Asp.net MVC Routelink空控制器參數
- 13. ASP.NET MVC - 傳遞參數給控制器
- 14. 從asp.net MVC控制器/動作
- 15. 從控制器動作ASP.NET MVC
- 16. ASP.NET MVC控制器動作設計
- 17. asp.net mvc控制器動作測試
- 18. ASP.NET MVC控制器動作授權
- 19. ASP.NET MVC - 作業控制器
- 20. 如何使ASP.Net MVC控制器動作異步
- 21. 緩存在Asp.net基於URL參數MVC
- 22. MVC控制器,採用參數作爲
- 23. 異步Asp.Net MVC控制器方法?
- 24. ASP.NET MVC中的異步控制器
- 25. 異步控制器asp.net的MVC 2.0
- 26. ASP.NET MVC 4異步控制器回調
- 27. ASP.NET MVC中的異步控制器
- 28. ASP.NET MVC中的異步控制器
- 29. ASP.NET MVC異步控制器與NHibernate
- 30. ASP.NET MVC,JSON發佈到控制器操作FormCollection參數
從MVC3開始,這不再是這種情況[see](http://stackoverflow.com/questions/4518671/does-varybyparam-also-read-routedata-values) – felickz 2015-11-03 17:10:28