Также важно понимать в методе 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
, будет применяться к кешированию.