2011-07-13 9 views
8

का उपयोग कर डिफ़ॉल्ट त्रुटि पृष्ठों को प्रदर्शित करने से रोकें। मैं अपने वेब एप्लिकेशन में कस्टम त्रुटि पेज जोड़ने की कोशिश कर रहा हूं। अब तक मैं तत्व के तहत मेरे web.config फ़ाइल को यह जोड़ लिया है:आईआईएस 7.5 को वेब.config

<customErrors mode="On" > 
    <error statusCode="404" redirect="~/404.aspx"/> 
    <error statusCode="500" redirect="~/500.aspx"/> 
</customErrors> 

यह त्रुटियों जो .NET उदाहरण के लिए छू लेती है एक यूआरएल है कि .aspx एक्सटेंशन वाली के लिए ठीक काम करता है। हालांकि मैं भी कस्टम त्रुटियों ऐसे www.example.com/dasda

के रूप में एक यूआरएल के लिए प्रदर्शित करने के लिए वर्तमान में जब मैं इस तरह के ऊपर IIS 7.5 प्रदर्शित करता है यह खुद त्रुटि संदेश नहीं है के रूप में एक पृष्ठ का अनुरोध करना चाहता हूँ। मैं तत्व के तहत इस जोड़ लिया है:

<httpErrors > 
    <remove statusCode="404" subStatusCode="-1" /> 
    <error statusCode="404" path="~/404.aspx" responseMode="ExecuteURL" /> 
    <remove statusCode="500" subStatusCode="-1" /> 
    <error statusCode="500" path="~/500.aspx" responseMode="ExecuteURL" /> 
</httpErrors> 

मैंने सोचा था कि इस आईआईएस बजाय कोई कस्टम त्रुटि पृष्ठ प्रदर्शित की यह डिफ़ॉल्ट वाले है, लेकिन इस मामले में हो प्रतीत नहीं होता होगा।

मुझे पता है मैं आईआईएस अपने आप में एक कस्टम त्रुटि पेज सेट कर सकते हैं, लेकिन मेरी स्थिति के लिए एक आदर्श समाधान इस web.config में विन्यास के लिए हो सकता है कि कर रहा हूँ।

मैं सुझाव के रूप में here Page_Load घटना पर अपने कस्टम त्रुटि पृष्ठों में इस जोड़ने की कोशिश की है:

  Response.TrySkipIisCustomErrors = true; 

हालांकि यह मेरे कस्टम त्रुटि पृष्ठ के स्थान पर प्रदर्शित होने से डिफ़ॉल्ट आईआईएस पेज नहीं रुके। मैं भी कोशिश की है क्या सुझाव दिया है here:

<httpErrors > 
    <remove statusCode="404" subStatusCode='-1' /> 
    <error statusCode="404" path="~/404.aspx" prefixLanguageFilePath='' responseMode="Redirect" /> 
    <remove statusCode="500" subStatusCode='-1' /> 
    <error statusCode="500" path="~/500.aspx" prefixLanguageFilePath='' responseMode="Redirect" /> 
    </httpErrors> 

लेकिन यह भी काम नहीं किया है।

तो वहाँ web.config फ़ाइल में सेटिंग के द्वारा डिफ़ॉल्ट त्रुटि पृष्ठ प्रदर्शित करने से आईआईएस रोकने के लिए एक तरीका है?

उत्तर

14
समस्या मैं का सामना कर रहा था

पर एक नज़र डालें प्रयास करें था कि डिफ़ॉल्ट निम्नलिखित के साथ एक विशेषता ErrorMode है द्वारा विकल्प: विस्तृत लोकल केवल कस्टम, विस्तृत या विस्तृत।

यदि त्रुटि मोड विशेषता को छोड़कर अनिर्दिष्ट छोड़ दिया गया है तो यह विस्तृतLocalOnly (ref) पर डिफ़ॉल्ट हो जाता है। जिसका अर्थ है कि मैंने प्रदर्शित होने वाली कस्टम त्रुटि नहीं देखी होगी।

विन्यास सेटिंग्स है कि काम किया गया:

<httpErrors errorMode="Custom"> 
    <remove statusCode="404" subStatusCode='-1' /> 
    <remove statusCode="500" subStatusCode='-1' /> 
    <error statusCode="404" path="/404.aspx" prefixLanguageFilePath="" responseMode="ExecuteURL" /> 
    <error statusCode="500" path="/500.aspx" prefixLanguageFilePath="" responseMode="ExecuteURL" /> 
    </httpErrors> 

ErrorMode = "कस्टम" कस्टम पेज को सही ढंग से काम कर रहे हैं परीक्षण करने के लिए आसान है, लेकिन जब छोड़े गए या ErrorMode = "DetailedLocalOnly को स्पष्ट रूप से सेट किए बिना छोड़ शायद और अधिक सुविधाजनक है "डीबगिंग उद्देश्यों के लिए।

+1

धन्यवाद पोस्ट करने के लिए एसीर। मैं आपके उदाहरण के साथ एक ही समस्या को ठीक करने में सक्षम था। – GibboK

+2

इससे मेरी समस्या हल हो गई। धन्यवाद! –

+1

त्रुटि की खोज के लिए धन्यवादमोड ध्वज; प्रभाव की कमी मेरे बाहर बिल्ली को परेशान कर रही थी। – icelava

0

मुझे लगता है कि आपको आईआईएस को उपयोगकर्ता द्वारा अनुरोध किए गए किसी भी संसाधन के लिए CustomErrorModule का उपयोग करने के लिए मजबूर करने की आवश्यकता है। अपने वेब config करने के लिए नीचे जोड़ने के लिए

<modules> 
     <add name="CustomErrorModule" type="customErrorModule" preCondition="" /> 
</modules> 

भी नीचे दिए गए लिंक

https://serverfault.com/questions/53712/in-iis-7-how-do-i-set-up-a-default-error-document-for-any-error

+1

धन्यवाद, web.config का किस भाग को इसमें जोड़ा जाना चाहिए? मैंने इसे httpModules और मॉड्यूल अनुभाग में डालने की कोशिश की लेकिन न तो काम किया। – Aesir

+0

अपडेट का धन्यवाद हालांकि यह अभी भी काम नहीं करता है। मैंने इसे काम करने में कामयाब रहा है। – Aesir