web-dev-qa-db-fra.com

Comment utiliser VaryByParam avec plusieurs paramètres?

Dans ASP.NET MVC2, j'utilise OutputCache et l'attribut VaryByParam. Je l'ai très bien fonctionné avec un seul paramètre, mais quelle est la syntaxe correcte lorsque j'ai plusieurs paramètres sur la méthode?

[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?
}

Comment l'obtenir pour mettre en cache les pages en utilisant les deux paramètres? Dois-je entrer ajouter l'attribut deux fois? Ou écrivez "customerId, languageId" comme valeur ??

98
Frode Lillerud

Vous pouvez utiliser * pour tous les paramètres ou une liste séparée par des points-virgules (VaryByParam = "customerId;languageId").

Vous pouvez également utiliser none si vous ne voulez pas qu'il mette en cache différentes versions ....

Voici une belle écriture spécifiquement pour MVC .

187
klabranche

Vous pouvez également utiliser * pour inclure tous les paramètres 

 [OutputCache(Duration =9234556,VaryByParam = "*")]
0
pooja gautam