Nab*_*ilS 2 asp.net-mvc caching outputcache
有什么办法可以使用outputcache属性通过控制器动作参数来改变缓存?我们有varybyparam,如果我的参数以REST方式嵌入到URL中,则无法使用.
Sim*_*ver 10
在Action方法中实现'VaryByParam'并不意味着'通过传递给该动作方法的参数变化'也很重要.它的意思是"根据传递给该动作方法的参数而变化,这些参数起源于HTTP参数".
[OutputCache(CacheProfile = "ContentPage", VaryByParam = "mode")]
public ActionResult Index(string key, string mode)
{
}
Run Code Online (Sandbox Code Playgroud)
让我们说这个行动方法的路线是:
routes.MapRoute(
"video-route-short",
"video/{key}",
new { controller = "Video", action = "Index", key = (string)null }
);
Run Code Online (Sandbox Code Playgroud)
正如Craig上面所说,关键参数是URL的一部分,因此缓存不适用于它 - 因此它基本上都是缓存的.
将通过' ?mode=1
'类型发送的模式参数将应用于缓存.
归档时间: |
|
查看次数: |
4882 次 |
最近记录: |