Wie verwende ich VaryByParam mit mehreren Parametern?

103

In ASP.NET MVC2 verwende ich OutputCacheund das VaryByParamAttribut. Ich habe es mit einem einzelnen Parameter gut funktionieren lassen, aber was ist die richtige Syntax, wenn ich mehrere Parameter in der Methode habe?

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

Wie kann ich die Seiten mit beiden Parametern zwischenspeichern? Muss ich das Attribut zweimal hinzufügen eingeben? Oder schreiben Sie "customerId, languageId" als Wert?

Frode Lillerud
quelle

Antworten:

200

Sie können * für alle Parameter oder eine durch Semikolon getrennte Liste ( VaryByParam = "customerId;languageId") verwenden.

Sie können auch keine verwenden, wenn Sie nicht möchten, dass verschiedene Versionen zwischengespeichert werden.

Hier ist ein schönes Schreiben speziell für MVC .

Kevin LaBranche
quelle
1

Sie können auch *alle Parameter einschließen

 [OutputCache(Duration =9234556,VaryByParam = "*")]
pooja gautam
quelle
1
Willkommen bei Stack Overflow. Während dieser Code die Frage möglicherweise beantwortet, verbessert die Bereitstellung eines zusätzlichen Kontexts darüber, warum und / oder wie dieser Code die Frage beantwortet, ihren langfristigen Wert. Wie zu
antworten