2010-07-06 14 views
5

में कस्टम त्रुटि सेटिंग्स का उपयोग करते समय आईआईएस 7 'एक लाइनर' त्रुटि प्राप्त करना मेरे पास एक एएसपी.नेट एमवीसी एप्लीकेशन है जो 404 और कभी-कभी, विभिन्न बिंदुओं पर 500 स्टेटस कोड देता है।वेब.config

Response.StatusCode = (int)HttpStatusCode.NotFound; 

जब मैं ये स्थिति कोड में से एक सेट, मैं भी TrySkipIisCustomErrors संपत्ति उचित रूप से सेट।

Response.TrySkipIisCustomErrors = true 

मैं अब क्या करना चाहते हैं क्या, आईआईएस कॉन्फ़िगर इन त्रुटियों को, जो मैं अपने आप को स्थापित करने हूँ के माध्यम से पारित, और किसी भी अन्य त्रुटियों (जैसे स्टैटिक फ़ाइलें, जहां मैं नहीं कर रहा हूँ पर 404 है कि हो सकता को पकड़ने के लिए है अपने आवेदन में ASP.NET, या ध्यान में न आया 500 त्रुटियों के लिए अनुरोध भेजने (जहां संभवतः TrySkipIisCustomErrors propety ढांचे द्वारा निर्धारित नहीं की है जाएगा किया गया)

मेरे system.webServer/httpErrors नोड इस तरह दिखता है:।

<httpErrors existingResponse="Auto" errorMode="Custom"> 
</httpErrors> 

यह मेरी अपनी एएसपी.NET त्रुटियों को लौटाता है जहां मैं सेट TrySkipIisCustomErrors = सच है, और ध्यान में न आया 500s के लिए मानक आईआईएस त्रुटि पृष्ठों, स्थिर फ़ाइल 404s आदि

मैं तो इस तरह इसे संशोधित करने की कोशिश की:

<httpErrors existingResponse="Auto" errorMode="Custom" defaultPath="/Skins/Shared/Error/Error.html" defaultResponseMode="ExecuteURL"> 
    <clear /> 
</httpErrors> 

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

मुझे लगता है कि यह मेरी कॉन्फ़िगरेशन में एक त्रुटि के कारण है, लेकिन मैं समझ नहीं पा रहा हूं कि मैं क्या कर रहा हूं!

मैं भी इस दृष्टिकोण की कोशिश की है, एक ही परिणाम के साथ:

<httpErrors existingResponse="Auto" errorMode="Custom" defaultPath="Skins\Shared\Error\Error.html" defaultResponseMode="File"> 
    <clear /> 
</httpErrors> 

यहां तक ​​कि एक पूरी तरह से अलग यूआरएल के लिए एक रीडायरेक्ट की स्थापना एक ही समस्या पैदा करता है।

मैं इस पृष्ठ का उपयोग संदर्भ के लिए दूसरों के बीच कर रहा हूं: http://blogs.iis.net/ksingla/archive/2008/02/18/what-to-expect-from-iis7-custom-error-module.aspx

त्रुटि फ़ाइल निश्चित रूप से मौजूद है, और मैं इसे सीधे ब्राउज़र का उपयोग करके हिट करने में सक्षम हूं।

एक तरफ, मुझे पूरी तरह से यकीन नहीं है कि मुझे सिस्टम के साथ क्या करना चाहिए। वेब \ customErrors नोड। क्या यह एक आईआईएस 6 केवल सेटिंग है, या यह किसी भी तरह से एएसपी.NET से संबंधित है? वर्तमान में मैं इसे अपने web.config में शामिल नहीं करता हूं।

+0

क्या आप इसे समझने में कामयाब रहे?मुझे एक ही समस्या है: एस – Robba

+0

विंडोज इवेंट लॉग में क्या त्रुटियां हैं? क्या आपके पास 'एकीकृत पाइपलाइन मोड' सेटिंग 'एकीकृत' या 'क्लासिक' मोड पर सेट किया गया एप्लिकेशन पूल है? (आपके परिदृश्य के लिए 'एकीकृत' होना चाहिए।) –

+0

एप्लिकेशन पूल एकीकृत मोड में है। अभी भी समस्या है, और समाधान खोजने में असमर्थ रहे हैं। इवेंट लॉग में कोई त्रुटि नहीं है। बहुत निराशाजनक! – Jamie

उत्तर

1

इसे अपने सिस्टम.वेब्सर्वर नोड में जोड़ें। यह आईआईएस को एएसपी.Net द्वारा त्रुटियों को संभालने के लिए बताएगा।

<httpErrors existingResponse="PassThrough" /> 
+0

मेरे बालों को खींचने में मदद करने के लिए धन्यवाद, बेवकूफ iis मुझे 500 प्रतिक्रिया वापस करने की अनुमति नहीं दे रहा है –

1

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

कोशिश पूरी तरह web.config से

<httpErrors> 

तत्व को हटाने।

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