.net
  • asp.net
  • code-behind
  • outputcache
  • 2010-04-15 31 views 7 likes 
    7

    मैं VaryByCustom पैरामीटर के प्रकारों के लिए एनम मान का उपयोग करना चाहता हूं, क्या यह संभव है?पेज आउटपुट कैश सेट करें VaryByCustom Value प्रोग्रामेटिक रूप से

    मैं स्वयं पृष्ठ

    <%@ OutputCache Duration="600" VaryByParam="none" 
          VaryByCustom='<%=VaryByCustomType.IsAuthenticated.ToString(); %>' %> 
    

    में यह स्थापित करने की कोशिश की लेकिन यह मेरी global.asax अंदर पूरे शाब्दिक स्ट्रिंग "<%=VaryByCustomType.IsAuthenticated.ToString(); %>" लौटे वहाँ या तो स्वयं पृष्ठ या codebehind से पर यह करने के लिए किसी भी तरह से है? या यह सिर्फ कुछ है जो मुझे स्वीकार करना है पूरी तरह से जादू तार है और मैं इसे टाइप सुरक्षा जोड़ने के लिए कुछ नहीं कर सकता हूं?

    उत्तर

    8

    @Outputcache निर्देश का उपयोग करने के बजाय, पृष्ठ में कोड के साथ ऐसा करने का प्रयास करें। जैसे

    void Page_Init() { 
        var outputCacheSettings = new OutputCacheParameters() { 
         Duration = 600, 
         VaryByCustom = VaryByCustomType.IsAuthenticated.ToString() 
        }; 
        InitOutputCache(outputCacheSettings); 
    } 
    
    +0

    इस उत्तर मैं तथापि http://msdn.microsoft.com/en-us/library/ms153473.aspx यह है के तहत टिप्पणी इस विधि का उपयोग करने के लिए नहीं है, के लिए किसी भी मौका देख लिए देख रहा था की तरह लग रहा क्या आपको कोई ज्ञान है कि एमएसडीएन क्यों कहेंगे कि अभी भी इस विधि का पर्दाफाश है? या इसे खुद को आह्वान करने के लिए क्या प्रभाव पड़ता है? –

    +0

    स्पष्ट रूप से, यह पुराना दस्तावेज है जो 2.0 दिनों से वापस आता है और कभी अपडेट नहीं किया गया था। यह वास्तव में वह कॉल है जो निर्देश का उपयोग करते समय आपके लिए उत्पन्न होता है। वैकल्पिक रूप से, आप इस धागे में वर्णित तकनीक का भी उपयोग कर सकते हैं: http://stackoverflow.com/questions/1043112/programatically-control-output-caching-disable-or-enable-cache-according-to-par –

    +0

    बहुत धन्यवाद डेविड! –

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