2011-03-04 8 views
7

क्या कोई मुझे बता सकता है कि एकाधिक पृष्ठों में एक रेंडरपार्टियल कैश करना संभव है? मेरे पास उपयोगकर्ता प्रोफ़ाइल के लिए एक रेंडरपार्टियल है जो वास्तव में कभी भी तब तक नहीं बदला जाना चाहिए जब तक कि उपयोगकर्ता अपनी प्रोफ़ाइल अपडेट न करे। तो मैं वास्तव में वापस जाना नहीं चाहता हूं और हर बार जब मैं एक पृष्ठ लोड करता हूं तो उसकी प्रोफ़ाइल प्राप्त करता हूं। मैं बहुत बल्कि आसपास आंशिक पास होता जब तक im (अर्थात प्रोफ़ाइल अद्यतन)कई पृष्ठों में एमवीसी 3 रेंडरपार्टियल कैशिंग

मैं DonutHole उदाहरण है कि एक साथ रखा p.haack को देखा अद्यतन करने के लिए मजबूर कर दिया है, लेकिन यह एक ही पृष्ठ के लिए प्रासंगिक हो रहा है। क्या कोई मुझे सही दिशा में इंगित कर सकता है या कोई सलाह दे सकता है? या मैं एक समय में केवल एक पृष्ठ को कैश करने में सक्षम हूं? धन्यवाद!

उत्तर

11

आप इसके बजाय रेंडरएक्शन का उपयोग कर सकते हैं। उदाहरण:

public class HomeController : Controller 
{ 
    public ActionResult Index() 
    { 
     return View(); 
    } 

    public ActionResult About() 
    { 
     return View(); 
    } 

    [OutputCache(Duration = 6000, VaryByParam = "none")] 
    public ActionResult Cached() 
    { 
     // You could return whatever you want here, even a view 
     // but for the purpose of the demonstration I am simply 
     // returning a dynamic string value 
     return Content(DateTime.Now.ToLongTimeString(), "text/html"); 
    } 
} 

और Index.cshtml और About.cshtml विचारों के अंदर आप बच्चे को कार्रवाई शामिल हो सकते हैं:

<div> 
    @{Html.RenderAction("Cached");} 
</div> 

और यह आप दोनों पृष्ठों में यह का संचित संस्करण मिल जाएगा।

+0

धन्यवाद डारिन। वह सही था। बदले में सामग्री की बजाय मैंने वापसी PartialView (ऑब्जेक्ट) प्रदर्शन किया; जैसा कि आपने अपने नोट्स में नोट किया था। –

+0

डारिन, क्या आप आंशिक दृश्य के साथ उपयोग किए जाने पर आउटपुट कैश को कैश प्रोफाइल का उपयोग करने के किसी भी तरीके से जानते हैं? –

+1

@ मार्क अच्छा, नहीं, यह समर्थित नहीं है। आप निम्न आलेख को देख सकते हैं जो समस्या बताता है: http://www.dotnetcurry.com/ShowArticle.aspx?ID=665। आप इसे ठीक करने के लिए एक कस्टम एक्शन फ़िल्टर लिख सकते हैं। –

संबंधित मुद्दे