有没有什么办法可以通过控制器动作参数使用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. 将ArrayList参数传递给控制器动作ASP.NET MVC
- 5. ASP.NET MVC F#控制器动作忽略参数
- 6. ASP.NET MVC 2向控制器动作提交表单和参数
- 7. asp.net的MVC ActionFilterAttribute - 重定向到 “控制器/动作/参数”
- 8. ASP.NET MVC:在控制器递增计数器,被缓存
- 9. ASP.NET MVC - 传递参数给控制器
- 10. ASP.NET MVC获取ID参数控制器
- 11. 从控制器动作ASP.NET MVC
- 12. asp.net mvc控制器动作测试
- 13. ASP.NET MVC控制器动作授权
- 14. ASP.NET MVC控制器动作设计
- 15. 犀牛公用UnitOfWork和ASP.NET MVC控制器似乎是缓存参数
- 16. ASP.NET MVC - 作业控制器
- 17. 如何使ASP.Net MVC控制器动作异步
- 18. 缓存在Asp.net基于URL参数MVC
- 19. ASP.NET MVC中的异步控制器
- 20. ASP.NET MVC中的异步控制器
- 21. 异步控制器asp.net的MVC 2.0
- 22. ASP.NET MVC异步控制器与NHibernate
- 23. ASP.NET MVC,JSON发布到控制器操作FormCollection参数
- 24. 使用带操作参数的ASP.NET MVC子控制器?
- 25. 从MVC控制器参数
- 26. ASP.NET MVC OutputCache因*而有所不同,并因用户cookie而异
- 27. MVC - 界面作为控制器动作参数
- 28. MVC RouteConfig设置控制器和动作属性作为参数
- 29. ASP.NET MVC视图和控制器输出缓存
- 30. ASP.Net MVC控制器
从MVC3开始,这不再是这种情况[see](http://stackoverflow.com/questions/4518671/does-varybyparam-also-read-routedata-values) – felickz 2015-11-03 17:10:28