我有OutputCache的这个例子。
我的问题是,我希望仅在[id]
等于NULL
时才缓存页面。在所有其他情况下,我根本不想要缓存。
myController的:
[OutputCache(Duration = int.MaxValue, VaryByParam = "id")]
public ActionResult Details(int id)
{}
RouteConfig:
routes.MapRoute(
name: "edit",
url: "edit/{id}",
defaults: new {
controller = "asd",
action = "Details",
id = UrlParameter.Optional
}
);
答案 0 :(得分:1)
您可以指定(并实施)VaryByCustom
的{{1}}参数:
<强> MyController.cs 强>
OutputCacheAttribute
<强>的Global.asax.cs 强>
[OutputCache(Duration = int.MaxValue, VaryByCustom = "idIsNull")]
public ActionResult Details(int id)
{
}