Bagaimana cara menggunakan VaryByParam dengan beberapa parameter?

103

Dalam ASP.NET MVC2 saya menggunakan OutputCachedan VaryByParamatribut. Saya membuatnya berfungsi dengan baik dengan satu parameter, tetapi apa sintaks yang benar ketika saya memiliki beberapa parameter pada metode ini?

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

Bagaimana cara mendapatkannya untuk menyimpan halaman menggunakan kedua parameter? Apakah saya memasukkan menambahkan atribut dua kali? Atau tulis "customerId, languageId" sebagai nilainya ??

Frode Lillerud
sumber

Jawaban:

200

Anda dapat menggunakan * untuk semua parameter atau daftar yang dipisahkan titik koma ( VaryByParam = "customerId;languageId").

Anda juga dapat menggunakan tidak ada jika Anda tidak ingin men-cache versi yang berbeda ....

Berikut adalah tulisan bagus khusus untuk MVC .

Kevin LaBranche
sumber
1

Anda juga dapat menggunakan *untuk memasukkan semua parameter

 [OutputCache(Duration =9234556,VaryByParam = "*")]
pooja gautam
sumber
1
Selamat datang di Stack Overflow. Meskipun kode ini dapat menjawab pertanyaan, memberikan konteks tambahan tentang mengapa dan / atau bagaimana kode ini menjawab pertanyaan tersebut meningkatkan nilai jangka panjangnya. Bagaimana Menjawab
Elletlar