Как использовать VaryByParam с несколькими параметрами?

103

В 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" в качестве значения ??

Фроде Лиллеруд
источник

Ответы:

200

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

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

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

Кевин Лабранш
источник
1

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

 [OutputCache(Duration =9234556,VaryByParam = "*")]
пуджа гаутам
источник
1
Добро пожаловать в Stack Overflow. Хотя этот код может ответить на вопрос, предоставление дополнительного контекста относительно того, почему и / или как этот код отвечает на вопрос, улучшает его долгосрочную ценность. Как ответить
Elletlar