Как я могу использовать VaryByParam с несколькими параметрами? - PullRequest
100 голосов
/ 21 августа 2010

В ASP.NET MVC2 я использую OutputCache и атрибут VaryByParam. У меня все работает нормально с одним параметром, но какой правильный синтаксис, когда у меня есть несколько параметров метода?

[OutputCache(Duration=30, VaryByParam = "customerId"]
public ActionResult Index(int customerId)
{
//I've got this one under control, since it only has one parameter
}

[OutputCache(Duration=30, VaryByParam = "customerId"]
public ActionResult Index(int customerId, int languageId)
{
//What is the correct syntax for VaryByParam now that I have a second parameter?
}

Как мне заставить его кэшировать страницы, используя оба параметра? Должен ли я добавить добавить атрибут дважды? Или напишите "customerId, languageId" в качестве значения ??

Ответы [ 2 ]

189 голосов
/ 21 августа 2010

Вы можете использовать * для всех параметров или списка, разделенного точкой с запятой (VaryByParam = "customerId;languageId").

Вы также можете использовать ни один, если вы не хотите, чтобы он кэшировал разные версии ....

Вот хорошая статья специально для MVC .

0 голосов
/ 08 февраля 2019

Вы также можете использовать * для включения всех параметров

 [OutputCache(Duration =9234556,VaryByParam = "*")]
...