मैं कई मापदंडों के साथ 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") के लिए उपयोग कर सकते हैं ।

यदि आप इसे अलग-अलग संस्करणों को कैश नहीं करना चाहते हैं, तो आप किसी का भी उपयोग नहीं कर सकते हैं ...।

यहाँ विशेष रूप से MVC के लिए एक अच्छा लेखन है


1

आप *सभी मापदंडों को शामिल करने के लिए भी उपयोग कर सकते हैं

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

1
ढेर अतिप्रवाह में आपका स्वागत है। हालांकि यह कोड प्रश्न का उत्तर दे सकता है, लेकिन यह कोड इस और क्यों या कैसे का उत्तर देता है, इस संबंध में अतिरिक्त संदर्भ प्रदान करता है। उत्तर कैसे दें
Elletlar
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.