“आपके अनुरोध को संसाधित करते समय एक अपवाद हुआ। साथ ही, कस्टम त्रुटि पृष्ठ को निष्पादित करते समय एक और अपवाद हुआ ... "


104

मैं एक एमवीसी वेबसाइट को एज़्योर वेब्रेल के रूप में प्रकाशित करने की कोशिश कर रहा हूं।

जब मैं इसे स्थानीय स्तर पर चलाता हूं, तो सब कुछ ठीक चलता है।

लेकिन एक बार जब मैं इसे एज़्योर के लिए प्रकाशित करता हूं और कुछ एमवीसी कार्रवाई के लिए सर्फ करता हूं, तो मुझे यह त्रुटि मिलती है:

/ 'अनुप्रयोग में सर्वर त्रुटि

रनटाइम त्रुटि

विवरण: आपके अनुरोध को संसाधित करते समय एक अपवाद उत्पन्न हुआ। इसके अतिरिक्त, पहले अपवाद के लिए कस्टम त्रुटि पृष्ठ निष्पादित करते समय एक और अपवाद उत्पन्न हुआ। अनुरोध समाप्त कर दिया गया है।

मुझे समझ में नहीं आता है कि त्रुटि हैंडलर कैसे एक अपवाद का सामना कर सकता है, क्योंकि त्रुटियों को डिफ़ॉल्ट तरीके से नियंत्रित किया जाता है:

public class FilterConfig
{
    public static void RegisterGlobalFilters(GlobalFilterCollection filters)
    {
        filters.Add(new HandleErrorAttribute());
    }
}

यह मेरा web.config है:

<?xml version="1.0"?>

<configuration>
  <configSections>
    <sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
      <section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
      <section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
    </sectionGroup>
  </configSections>

  <system.web.webPages.razor>
    <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <pages pageBaseType="System.Web.Mvc.WebViewPage">
      <namespaces>
        <add namespace="System.Web.Mvc" />
        <add namespace="System.Web.Mvc.Ajax" />
        <add namespace="System.Web.Mvc.Html" />
        <add namespace="System.Web.Routing" />
      </namespaces>
    </pages>
  </system.web.webPages.razor>

  <appSettings>
    <add key="webpages:Enabled" value="false" />
  </appSettings>

  <system.web>
        <httpHandlers>
      <add path="*" verb="*" type="System.Web.HttpNotFoundHandler"/>
    </httpHandlers>

    <pages
        validateRequest="false"
        pageParserFilterType="System.Web.Mvc.ViewTypeParserFilter, System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
        pageBaseType="System.Web.Mvc.ViewPage, System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
        userControlBaseType="System.Web.Mvc.ViewUserControl, System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
      <controls>
        <add assembly="System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" namespace="System.Web.Mvc" tagPrefix="mvc" />
      </controls>
    </pages>
  </system.web>

  <system.webServer>
    <validation validateIntegratedModeConfiguration="false" />

    <handlers>
      <remove name="BlockViewHandler"/>
      <add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" />
    </handlers>
  </system.webServer>
</configuration>

यह Error.cshtml है:

@model System.Web.Mvc.HandleErrorInfo

@{
    ViewBag.Title = "Error";
}

<h2>
    Sorry, an error occurred while processing your request.
</h2>

इस अपवाद का कारण क्या हो सकता है, और मैं इसे स्थानीय स्तर पर क्यों नहीं पुन: पेश कर सकता हूं?


41
यार, तुम्हारी त्रुटियां त्रुटियां हैं। कि कुछ गंभीर ईश :)
जैक

मेरा सुझाव है कि आप प्रबंधन पोर्टल में विस्तृत त्रुटि लॉगिंग सक्षम करें और FTP साइट पर लॉग की समीक्षा करें।
जैकब कोनकी 11

क्या आपके लेआउट में ऐसा कुछ है जो अपराधी हो सकता है?
drch

@drch नहीं, लेआउट में कुछ भी नहीं बदला है क्योंकि यह आखिरी बार काम किया था।
इल्या कोगन

जवाबों:


213

पहले, web.config और redeploy में customErrors = "Off" सेट करें ताकि अधिक विस्तृत त्रुटि संदेश प्राप्त हो सके जो हमें समस्या का निदान करने में मदद करेगा। आप RDP को उदाहरण में भी देख सकते हैं और त्रुटियों को देखने के लिए IIS से साइट पर ब्राउज़ कर सकते हैं।

<system.web>
      <customErrors mode="Off" />

पहला अनुमान हालांकि - आपके पास कुछ संदर्भ (सबसे अधिक संभावना Azure एसडीके संदर्भ) हैं जो प्रतिलिपि स्थानीय = सच्चे पर सेट नहीं हैं। तो, आपके सभी आश्रितों को तैनात नहीं किया जा रहा है।

पहले विस्तृत त्रुटि पर पहुंचें और अपना प्रश्न अपडेट करें।

अद्यतन: VS2013 में अब उपलब्ध एक दूसरा विकल्प रिमोट डिबगिंग ए क्लाउड सर्विस या वर्चुअल मशीन है


12
CustomErrors को "बंद" करने के लिए आखिरकार कुछ वास्तविक अपवाद दिखाए गए। मैं अब उनकी जांच कर रहा हूं।
इल्या कोगन

1
चूंकि यह एक आईआईएस त्रुटि के परिणामस्वरूप है, आप उन्हें एक फॉलबैक के रूप में भी अनुकूलित कर सकते हैं a la benfoster.io/blog/aspnet-mvc-custom-error-pages
drzaus

मेरे customErrors "बंद" हैं, लेकिन मैं आपके अनुरोध को संसाधित करते समय "क्षमा करें, एक त्रुटि हुई।" त्रुटि। क्या आप यहाँ मेरी मदद कर सकते हैं? @ इलिया कोगन
गुइपाब

1
+1 केवल इसलिए क्योंकि customerror सेट करना = मुझे यह देखने की अनुमति देता है कि त्रुटि इसलिए हुई क्योंकि मैंने किसी अन्य वेबसाइट के लिए टेम्पलेट के रूप में एक वेबसाइट समाधान का उपयोग किया था और बिन फ़ोल्डर को हटाने के लिए भूल गया था, अर्थात यह एक डुप्लिकेट मुद्दा था।
पॉल ज़हरा

7

मैं Azure का उपयोग नहीं कर रहा था, लेकिन मुझे स्थानीय रूप से वही त्रुटि मिली। उपयोग <customErrors mode="Off" />करने से कोई प्रभाव नहीं पड़ता था, लेकिन ईवेंट व्यूअर में एप्लिकेशन लॉग को चेक करने से ASP.NET से एक चेतावनी मिली, जिसमें समस्या को हल करने के लिए आवश्यक सभी विवरण शामिल थे।


3

यदि आप इसे अपने web.config रूपांतरण फ़ाइल में जोड़ते हैं, तो आप डिबगिंग सक्षम या अक्षम करने के लिए कुछ निश्चित प्रकाशन विकल्प भी सेट कर सकते हैं:

<system.web>
    <customErrors mode="Off" defaultRedirect="~/Error.aspx" xdt:Transform="Replace"/>
</system.web>

1

वेब परिनियोजन द्वारा IIS में प्रकाशित करते समय, मैंने फ़ाइल प्रकाशन विकल्प की जाँच की और निष्पादित किया। अब यह काम कर रहा है! इस तैनाती के बाद चेकबॉक्स को चेक करने की आवश्यकता नहीं है। मुझे नहीं लगता कि यह हर किसी के लिए समाधान हो सकता है, लेकिन यह केवल एक चीज है जो मुझे अपनी समस्या को हल करने के लिए आवश्यक है। सौभाग्य।


0

मुझे केवल redirectMode="ResponseRewrite"( redirectMode="ResponseRedirect"ठीक काम) के साथ यह समस्या थी और उपरोक्त समाधानों में से किसी ने भी मेरे मुद्दे को हल करने में मदद नहीं की। हालाँकि, एक बार जब मैंने सर्वर के एप्लिकेशन पूल के "प्रबंधित पाइपलाइन मोड" को "क्लासिक" से "एकीकृत" में बदल दिया, तो कस्टम त्रुटि पृष्ठ अपेक्षित रूप से प्रकट हुआ।


-1

आप Oracle.anagedDataAccess.dll का उपयोग कर सकते हैं (Oracle से डाउनलोड करें), उस dll को प्रोजेक्ट बिन में शामिल करें, प्रोजेक्ट में उस dll का संदर्भ जोड़ें। कोड में, "Oracle.MangedDataAccess.Client का उपयोग करके"। हमेशा की तरह प्रोजेक्ट को सर्वर पर तैनात करें। सर्वर पर ओरेकल क्लाइंट स्थापित करने की आवश्यकता नहीं है। Web.config में असेंबली जानकारी जोड़ने की आवश्यकता नहीं है।


2
ओरेकल इस तस्वीर में कैसे आया?
अनमोल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.