2012-11-12 8 views
5

हम कोल्डफ्यूजन 9 का उपयोग कर रहे हैं।मैं enablecfoutputonly के वर्तमान मूल्य को कैसे पुनर्प्राप्त करूं?

क्या यह जानने का एक आसान तरीका है कि किसी विशेष अनुरोध के दौरान enablecfoutputonly को सही पर सेट किया गया है या नहीं?

+1

सेट इसे करने के लिए सही है, तो आप निश्चित रूप से जानते हैं कि यह सच हो गया है? ; ओ) –

+1

मैं इसे भी जानना चाहता हूं। प्रश्न एक महीने या उससे पहले पहले कहीं और (या शायद एक और सवाल, मुझे याद नहीं है) आया, और मैंने यह पता लगाने की कोशिश कर एक दिन का सबसे अच्छा हिस्सा बिताया कि यह कैसे पता लगाया जाए, और एक खाली खींचा। यदि यह कहीं भी है, तो यह कहीं भी GetPageContext() ऑब्जेक्ट में होगा। –

+0

मुझे लगता है कि आप बफर का मूल्य प्राप्त कर सकते हैं (बेन नेडल को उस पर एक ब्लॉग एंट्री मिली है), फिर cfoutput का उपयोग किए बिना कुछ जोड़ें, फिर जांचें कि बफर बदल गया है या नहीं? (अभी मेरे पास प्रयोग करने का समय नहीं है।) –

उत्तर

5

मैं अभी CF9 साथ परीक्षण नहीं कर सकते, लेकिन CF10 में यह उत्पादन वस्तु की जाँच करके getPageContext() से पहुँचा जा सकता है:

<cfscript> 
    out = getPageContext().getOut(); 
    // Is the cfsetting enablecfoutputonly value currently true? 
    isSettingEnabled = out.getDisableCount() > 0; 
    WriteOutput("isSettingEnabled="& isSettingEnabled &"<br>"); 
    // Is output currently allowed? 
    isOuputtingEnabled = out.getDisableCount() == 0 || out.getOutputCount() > 0; 
    WriteOutput("isOuputtingEnabled="& isOuputtingEnabled &"<br>"); 
</cfscript> 

.. या प्रतिबिंब का उपयोग:

<cfscript> 
    out = getPageContext().getOut(); 
    internalMethod = out.getClass().getDeclaredMethod("isOutputEnabled", []); 
    internalMethod.setAccessible(true); 
    isOuputtingEnabled = internalMethod.invoke(out, []); 
    // is output currently allowed? 
    WriteOutput("isOuputtingEnabled="& isOuputtingEnabled); 
</cfscript> 
+0

मैं पुष्टि कर सकता हूं कि कम से कम पूर्व विकल्प सीएफ 9.0.1 पर काम करता है (मैंने उत्तरार्द्ध की जांच नहीं की, क्योंकि यह बिना किसी लाभ के अतिरिक्त काम का गुच्छा जैसा लगता है)। –

+0

एनबी (यह आवश्यक नहीं है): यह रेलवे पर काम नहीं करता है, क्योंकि 'getDisableCount() 'और' getOutputCount() 'लागू नहीं किया गया है। –

+0

कोई भी getDisabledCount() और getOutputCount() के बीच का अंतर जानता है? –

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