2010-08-21 2 views
85

В ASP.NET MVC2 я использую OutputCache и атрибут VaryByParam. Я получил работу с одним параметром, но каков правильный синтаксис, когда у меня есть несколько параметров метода?Как использовать 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» как значение?

ответ

171

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

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

Here's a nice write up specifically for MVC.

+0

Ссылка не работает – Espo

+1

Обновлена ​​ссылка. :-) – klabranche