10

जैसा कि elsewhere सुझाया गया है, मैं अपने कस्टम त्रुटि कॉन्फ़िगरेशन में redirectMode = ResponseRewrite का उपयोग कर रहा हूं, इसलिए मेरा कस्टम त्रुटि पृष्ठ अपवाद जानकारी तक पहुंच सकता है। यह कुछ समय के लिए एक आकर्षण की तरह काम किया है।एचटीपी कॉन्टेक्स्ट क्यों है। रीडायरेक्ट करते समय। Node = ResponseRewrite

कुछ और जोड़ने में "उपयोगकर्ता को त्रुटि से पुनर्प्राप्त करने में मदद करें" टाइप कार्यक्षमता, हमें उस जानकारी का एक टुकड़ा चाहिए जो पहले सत्र में संग्रहीत किया गया था। इसे कार्यान्वित करते समय, मैंने पाया कि रीडायरेक्ट मोड = रेस्पॉन्स रिवाइट करते समय सत्र में अलग-अलग रास्ते समाप्त हो जाते हैं, लेकिन जब वे रीडायरेक्ट मोड = ResponseRedirect (या परिभाषित नहीं किया जाता है) पर वे सभी पॉप्युलेट होते हैं।

कोई भी जानता है क्यों? ऐसा लगता है कि हमें अपवाद जानकारी (ResponseRewrite) या सत्र (ResponseRedirect) होने के बीच चयन करना होगा।

रिच कस्टम त्रुटि हैंडलिंग पर MSDN article मुझे बताता है कि सत्र केवल तभी उपलब्ध होता है जब नियंत्रण गुजरने का तरीका सर्वर होता है। ट्रांसफर, जो मैंने माना है, प्रतिक्रिया है जो हुड के तहत उपयोग की जाती है। जाहिर है कि यह मामला नहीं है।

+0

+1 मुझे एक ही समस्या है –

+1

मॉरीसिओ, मुझे अभी तक सवाल का जवाब नहीं पता है, लेकिन इसे पाने के लिए, मैंने रीडायरेक्ट मोड को मेरी वेब कॉन्फ़िगरेशन से बाहर निकाला और कस्टम तर्क डाला Global.asax Application_Error हैंडलर जो मैं चाहता था वह करने के लिए। मैं अपवाद को "उपयोगकर्ता के अनुकूल" संदेश अपवाद के साथ बदल रहा हूं, लेकिन अनिवार्य रूप से स्थानांतरण तर्क है: यदि (Context.IsCustomErrorEnabled) { सर्वर। ट्रांसफर ("~/error.aspx"); } फिर त्रुटि.aspx पृष्ठ में संदर्भ से त्रुटि खींचने और संदेश प्रदर्शित करने के लिए पेज_लोड कोड है। – Josh

+0

@ जोश, जो अच्छा लग रहा है, इसे एक उत्तर में डाल दें ताकि मैं इसे ठीक से ऊपर उठा सकूं :-) –

उत्तर

5

मुझे अभी तक प्रश्न का उत्तर नहीं पता है, लेकिन इसे पाने के लिए, मैंने रीडायरेक्ट मोड को मेरी वेब कॉन्फ़िगरेशन से बाहर ले लिया है और ग्लोबल.एएसएक्स Application_Error हैंडलर में कस्टम लॉजिक डाला है जो मैं चाहता था। संदर्भ से बाहर त्रुटि खींच सकते हैं और संदेश प्रदर्शित करने के लिए फिर Error.aspx पेज Page_Load कोड है

if(Context.IsCustomErrorEnabled)
{
Server.Transfer("~/Error.aspx");
}

: मैं एक "उपयोगकर्ता के अनुकूल" संदेश अपवाद के साथ अपवाद की जगह रहा हूँ, लेकिन अनिवार्य रूप से हस्तांतरण तर्क है ।

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