2013-09-05 9 views
7

अद्यतन किसी भी संसाधन फ़ाइलें (सीएसएस, जे एस, चित्र) का अनुरोध: बातें मैंने कोशिश की - समाधान के लिए नीचे का जवाब देखने के500 आंतरिक सर्वर त्रुटि में एक नेट MVC 3 साइट

  1. मैं एक ताजा MVC3 साइट स्थापित किया है और यह संसाधनों को सही तरीके से सेवा दी। इसने मशीन.कॉन्फिग सेटिंग्स को एक समस्या के रूप में हटा दिया।
  2. तब मैं web.config में सेक्शन द्वारा अनुभाग देखता हूं कि वेब.कॉन्फिग में कोई विशेष परिवर्तन समस्या का कारण बनता है या नहीं। जब कॉन्फ़िगर समान थे, ताजा साइट अभी भी काम करती थी और पुरानी साइट अभी भी टूट गई थी।
  3. मैंने आईआईएस को अनइंस्टॉल किया, आईआईएस को पुनर्स्थापित किया, और उसके बाद फिर से इंस्टॉल की गई किसी भी सेटिंग को साफ़ करने के प्रयास में ऐप्स इंस्टॉल किए। अभी भी borked।
  4. फिर मैंने नई निर्देशिका में प्रकाशित (एमएसआई तैनाती के बजाय) का उपयोग किया। मैंने टूटा हुआ सटीक उसी कोड की नई निर्देशिका पर "एप्लिकेशन बनाएं" के लिए आईआईएस विकल्प का उपयोग किया। चीजें पूरी तरह से काम किया।
  5. मुझे फ़ाइल अनुमतियां मानी गईं, इसलिए मैंने अपमानजनक निर्देशिका हटा दी और पुराने वर्किंग वर्जन को पुराने वर्किंग नाम में बदल दिया। साइट अभी भी borked था। इससे मुझे लगता है कि कुछ आईआईएस सेटिंग जो machine.config या web.config में नहीं है, दोष है।
  6. मैंने आईआईएस 6 मेटाबेस एक्सप्लोरर (हाँ मैंने इसे आईआईएस 8 साइट पर इस्तेमाल किया) का उपयोग किया और काम करने वाली साइट में कुछ प्रविष्टियां नहीं देखीं। एक-एक करके हटाने के बाद, मैंने पाया कि यह "स्क्रिप्ट मैप्स" प्रविष्टि थी जिसे हमारे एमएसआई इंस्टॉलेशन के दौरान जोड़ा जा रहा था जिससे समस्या उत्पन्न हुई। यह इंस्टॉल के दौरान स्वचालित रूप से वाइल्डकार्ड मैपिंग जोड़ने के लिए जोड़ा गया था। यह आईआईएस 6 पर काम करता है, लेकिन स्पष्ट रूप से आईआईएस 8 पर नहीं।

हमारे पास एक वेबफॉर्म और एमवीसी 3 एप्लिकेशन है जो एक एप्लिकेशन की तरह दिखता है। यह कई वातावरण (2003, 2008, विन 7) में तैनात है और ठीक से काम करता है। मैंने इन अनुप्रयोगों को एक नई विंडोज सर्वर 2012 मशीन पर सेट किया है और एमवीसी साइट के लिए संसाधन फाइलों को छोड़कर सबकुछ काम करता है।

@{ 
    Title = "Reportable Conditions"; 
    SelectedSubTab = SubTabIndex.Reportables; 
    Html.Telerik().ScriptRegistrar().DefaultGroup(dg => dg 
     .Add("~/Scripts/ReportableConditions/List.js") 
     .Add("~/Scripts/ClientObjects/GridSettings.js")) 
     .OnDocumentReady("bootStrapUI()"); 
} 

अगर मैं सीधे नेविगेट करने की कोशिश: ब्राउज़र एक

500 Internal Server Error 
Server Application Unavailable 

The web application you are attempting to access on this web server is currently unavailable. Please hit the "Refresh" button in your web browser to retry your request. 

Administrator Note: An error message detailing the cause of this specific request failure can be found in the application event log of the web server. Please review this log entry to discover what caused this error to occur. 

संसाधनों _layout.cshtml

<head> 
    <meta http-equiv='X-UA-Compatible' content='IE=EmulateIE8' /> 
    <title>@this.Title</title> 
    <script type="text/javascript" src="@Url.Content("~/Scripts/2012.2.607/jquery-1.7.1.min.js")"></script>  
    <script type="text/javascript" src="/Sentri7/scripts/jquery-p1s.banner.js"></script> 
    <script type="text/javascript" src="/Sentri7/scripts/jquery-p1s.patientsearch.js"></script> 
    <link type="text/css" rel="stylesheet" href="/sentri7/content/jquery-p1s.patientsearch.css"></link> 
    <link type="text/css" rel="stylesheet" href="/sentri7/content/jquery-p1s.banner.css" /> 
    <link type="text/css" rel="stylesheet" href="/quantifi/resources/application/css/jqueryui/jquery-ui-1.7.2.custom.css" /> 
    <link type="text/css" rel="stylesheet" href="/quantifi/resources/application/css/styles.css" /> 
    @(RenderSection("PageHead", required: false)) 
</head> 

में संदर्भित के साथ-साथ Telerik scriptmanager का उपयोग कर हो जाता है जावास्क्रिप्ट फ़ाइल, मुझे एक ही त्रुटि मिलती है:

http://[server]/S7D/Scripts/2012.2.607/jquery-1.7.1.min.js 

कुछ अजीब सामान:

  1. मैं IISReset हैं और जे एस फ़ाइल मारा, यह पहली बार अनुरोध केवल काम करेंगे।

  2. सर्वर पर किसी अन्य (वेबफॉर्म) साइट (एक ही ऐप पूल) से अनुरोध किया गया कोई भी जेएस, सीएसएस, या छवि ठीक काम करती है।

  3. इस 500 त्रुटि से संबंधित ईवेंट लॉग में कुछ भी नहीं है।

मुझे लगता है कि एप्लिकेशन पूल चलाने उपयोगकर्ता को अनुमतियां पूर्ण अनुमति जोड़ने की कोशिश की है। मैंने [मशीन] \ IUSR में फ़ाइल अनुमतियां भी जोड़ दी हैं।

यहां मेरा वेब है।config

<?xml version="1.0" encoding="UTF-8"?> 
<configuration> 
    <configSections> 
    <sectionGroup name="telerik"> 
     <section name="webAssets" type="Telerik.Web.Mvc.Configuration.WebAssetConfigurationSection, Telerik.Web.Mvc" requirePermission="false" /> 
    </sectionGroup> 
    <sectionGroup name="spring"> 
     <section name="typeAliases" type="Spring.Context.Support.TypeAliasesSectionHandler, Spring.Core" /> 
     <section name="context" type="Spring.Context.Support.WebContextHandler, Spring.Web" /> 
     <section name="objects" type="Spring.Context.Support.DefaultSectionHandler, Spring.Core" /> 
    </sectionGroup> 
    <sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"> 
     <section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" /> 
     <section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" /> 
    </sectionGroup> 
    </configSections> 
    <spring> 
    <context> 
     <!-- Load web.config definition ** This resource reference is essential to define objects in the web.configs --> 
     <resource uri="config://spring/objects" /> 
     <resource uri="assembly://CAS2/CAS2.CASLibDAO/_SpringObjects.xml" /> 
     <resource uri="file://~/App_Data/MvcApplicationContext.xml" /> 
     <resource uri="assembly://P1S.S7D.Core/P1S.S7D.Core.ApplicationContext/ApplicationContext-Common.xml" /> 
     <resource uri="assembly://P1S.S7D.Core/P1S.S7D.Core.ApplicationContext/ApplicationContext-DAO.xml" /> 
     <resource uri="assembly://P1S.S7D.Core/P1S.S7D.Core.ApplicationContext/ApplicationContext.xml" /> 
     <resource uri="assembly://P1S.S7D.Core/P1S.S7D.Core.ApplicationContext/Services.xml" /> 
     <resource uri="assembly://P1S.S7D.Common/P1S.S7D.Common.ApplicationContext/ApplicationContext-AuthModule.xml" /> 
     <resource uri="assembly://P1S.S7D.Common/P1S.S7D.Common.ApplicationContext/ApplicationContext-Web-Common.xml" /> 
     <resource uri="assembly://P1S.S7D.Core/P1S.S7D.Core.ApplicationContext.WCF/ApplicationContext.xml" /> 
     <resource uri="assembly://P1S.S7D.Core/P1S.S7D.Core.ApplicationContext/ApplicationContext-Circular-Reference-IPReporting.xml" /> 
    </context> 
    <objects xmlns="http://www.springframework.net"> 
     <!--cached objects--> 
    </objects> 
    </spring> 
    <system.web.webPages.razor> 
    <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
    <pages pageBaseType="P1S.S7D.Web.Mvc.WebViewPage"> 
     <namespaces> 
     <add namespace="P1S.S7D.Web.Mvc" /> 
     <add namespace="System.Web.Helpers" /> 
     <add namespace="System.Web.Mvc" /> 
     <add namespace="System.Web.Mvc.Ajax" /> 
     <add namespace="System.Web.Mvc.Html" /> 
     <add namespace="System.Web.Routing" /> 
     <add namespace="System.Web.WebPages" /> 
     <add namespace="Telerik.Web.Mvc.UI" /> 
     </namespaces> 
    </pages> 
    </system.web.webPages.razor> 



    <appSettings> 
    <add key="Spring.Data.NHibernate.Support.OpenSessionInViewModule.SessionFactoryObjectName" value="NHibernateSessionFactory" /> 
    <add key="Spring.Data.NHibernate.Support.OpenSessionInViewModule.EntityInterceptorObjectName" value="MultiTenantInterceptor" /> 
    <add key="webpages:Version" value="1.0.0.0" /> 
    <add key="ClientValidationEnabled" value="true" /> 
    <add key="UnobtrusiveJavaScriptEnabled" value="true" /> 
    </appSettings> 
    <system.web> 
    <sessionState allowCustomSqlDatabase="true" mode="SQLServer" sqlConnectionString="Server=dev-ct-nhsn.dev.rph.int;Database=aspstate;User ID=UID;Password=*****; Application Name=S7DSharedSession" /> 
    <compilation debug="true" targetFramework="4.0"> 
     <assemblies> 
     <add assembly="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
     <add assembly="System.Web.Helpers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
     <add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
     <add assembly="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
     <add assembly="System.Web.WebPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
     </assemblies> 
    </compilation> 
    <authentication mode="Forms"> 
     <forms loginUrl="~/Account/LogOn" timeout="2880" /> 
    </authentication> 
    <membership> 
     <providers> 
     <clear /> 
     <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="ApplicationServices" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/" /> 
     </providers> 
    </membership> 
    <profile> 
     <providers> 
     <clear /> 
     <add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="ApplicationServices" applicationName="/" /> 
     </providers> 
    </profile> 
    <roleManager enabled="false"> 
     <providers> 
     <clear /> 

     <add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="ApplicationServices" applicationName="/" /> 
     <add name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider" applicationName="/" /> 
     </providers> 
    </roleManager> 
    <pages pageBaseType="P1S.S7D.Web.Mvc.WebViewPage"> 
     <namespaces> 
     <add namespace="P1S.S7D.Web.Mvc" /> 
     <add namespace="System.Web.Helpers" /> 
     <add namespace="System.Web.Mvc" /> 
     <add namespace="System.Web.Mvc.Ajax" /> 
     <add namespace="System.Web.Mvc.Html" /> 
     <add namespace="System.Web.Routing" /> 
     <add namespace="System.Web.WebPages" /> 
     <add namespace="Telerik.Web.Mvc.UI" /> 
     </namespaces> 
     <controls> 
     <add tagPrefix="asp" namespace="System.Web.UI.WebControls" assembly="System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> 
     </controls> 
    </pages> 
    <httpHandlers> 
     <add verb="GET,HEAD" path="asset.axd" validate="false" type="Telerik.Web.Mvc.WebAssetHttpHandler, Telerik.Web.Mvc" /> 
    </httpHandlers> 
    <httpModules> 
     <add name="AuthenticationModule" type="Web.Handlers.AuthenticationModule,P1S.S7D.Web.Mvc" /> 
     <add name="Spring" type="Spring.Context.Support.WebSupportModule, Spring.Web" /> 
     <add name="OpenSessionInView" type="Spring.Data.NHibernate.Support.OpenSessionInViewModule, Spring.Data.NHibernate31" /> 

    </httpModules> 
     <customErrors mode="Off" /> 

    </system.web> 
    <system.webServer> 
    <validation validateIntegratedModeConfiguration="false" /> 
    <modules runAllManagedModulesForAllRequests="true"> 
     <add name="Spring" type="Spring.Context.Support.WebSupportModule, Spring.Web" /> 
     <add name="AuthenticationModule" type="Web.Handlers.AuthenticationModule,P1S.S7D.Web.Mvc" /> 
     <add name="OpenSessionInView" type="Spring.Data.NHibernate.Support.OpenSessionInViewModule, Spring.Data.NHibernate31" /> 

    </modules> 
    <!-- --> 
    <handlers> 
     <remove name="asset" /> 
     <add name="asset" preCondition="integratedMode" verb="GET,HEAD" path="asset.axd" type="Telerik.Web.Mvc.WebAssetHttpHandler, Telerik.Web.Mvc" /> 
    </handlers> 

    </system.webServer> 
    <runtime> 
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
     <dependentAssembly> 
     <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" /> 
     <bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="3.0.0.0" /> 
     </dependentAssembly> 
    </assemblyBinding> 
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
     <dependentAssembly> 
     <assemblyIdentity name="NHibernate" culture="neutral" publicKeyToken="aa95f207798dfdb4" /> 
     <bindingRedirect oldVersion="3.1.0.4000" newVersion="3.3.1.4000" /> 
     </dependentAssembly> 
    </assemblyBinding>  
    </runtime> 
    <telerik> 
    <webAssets useTelerikContentDeliveryNetwork="false" /> 
    </telerik> 
</configuration> 

सभी संसाधनों, Telerik का उपयोग कर सकते हैं या उन्हें स्क्रिप्ट टैग के साथ जोड़ने है कि 500 ​​त्रुटि दिखा सकते हैं। के रूप में मेरे संपादन में उल्लेख किया

public static void RegisterRoutes(RouteCollection routes) 
    { 
     routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 
     RouteTable.Routes.RouteExistingFiles = false; 
     routes.MapRoute(
      "Default", // Route name 
      "{controller}/{action}/{id}", // URL with parameters 
      new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults 
     ); 
    } 
+1

क्या आपने कस्टम रूटिंग नियम निर्धारित किए हैं? –

+1

क्या आप वास्तव में सर्वर पर संपत्ति तैनात कर रहे हैं? – Brett

+0

@ ब्रेट - हाँ संपत्ति सर्वर पर हैं। असल में, आईआईएस रीसेट के बाद, मैं सीधे उन्हें नेविगेट करने के बाद फ़ाइलों तक पहुंच सकता हूं। –

उत्तर

4

:

रजिस्टर मार्गों: नियंत्रक और दृश्य सही ढंग से (शैलियों या जावास्क्रिप्ट के बिना)

संपादित दिखा। समस्या आईआईएस 6 मेटाबेस एक्सप्लोरर के साथ मिली एक गलत आईआईएस सेटिंग थी।

मैंने आईआईएस 6 मेटाबेस एक्सप्लोरर (हाँ मैंने इसे आईआईएस 8 साइट पर इस्तेमाल किया) का उपयोग किया और काम करने वाली साइट में कुछ प्रविष्टियां नहीं देखीं। एक-एक करके हटाने के बाद, मैंने पाया कि यह "स्क्रिप्ट मैप्स" प्रविष्टि थी जिसे हमारे एमएसआई इंस्टॉलेशन के दौरान जोड़ा जा रहा था जिससे समस्या उत्पन्न हुई। यह इंस्टॉल के दौरान स्वचालित रूप से वाइल्डकार्ड मैपिंग जोड़ने के लिए जोड़ा गया था। यह आईआईएस 6 पर काम करता है, लेकिन स्पष्ट रूप से आईआईएस 8 पर नहीं।

मुझे यकीन नहीं है कि फ़ाइलों को पहले अनुरोध पर ठीक से क्यों सेवा दी जाएगी, लेकिन बाद के अनुरोधों पर नहीं, लेकिन प्रविष्टि को हटा दिया गया। मुझे आईआईएस जीयूआई में कहीं भी "स्क्रिप्ट मैप्स" सेटिंग नहीं मिल सका, लेकिन शायद यह कहीं कहीं है।

+6

हमारे लिए, त्रुटि एक स्थिर सामग्री mimemap वेब में जोड़ा जा रहा था।कॉन्फ़िगर (woff) जिसे हमारे Azure वेब सेवा पर मशीन स्तर पर भी स्थापित किया जाना चाहिए। एक बार जब हमने पहले एक निकाय तत्व जोड़ा तो यह समस्या ठीक हो गई और इसलिए 500 त्रुटियां। – Co7e

+0

स्टीव - मुझे खुशी है कि आपको त्रुटि मिली है। मुझे पता है कि मैं दीवार के खिलाफ सबसे लंबे समय तक अपने सिर को टक्कर लगी थी। घटना लॉग में कुछ भी नहीं। उम्मीद है कि इससे लोगों को मेरी सभी निराशाओं से बचने में मदद मिलेगी। –

1

मेरी स्थिति के लिए, विंडो 8.0 पर मेरा एप्लिकेशन चलाते समय मुझे यह त्रुटि मिली।

आईआईएस में 'फ़ॉन्ट/एक्स-वफ़' से 'एप्लिकेशन/एक्स-फ़ॉन्ट-वफ़' से मिनी प्रकार के .woff को बदलने के बाद, यह अच्छी तरह से काम करता है। (मिनी प्रकार को बदलने के बाद, मेरी वेब कॉन्फ़िगरेशन '' स्थिर सामग्री में स्वचालित रूप से)

18

जब मैं अपनी साइट स्थानीय (विंडोज 7) से सर्वर (विंडोज 2012) में प्रकाशित करता हूं तो मुझे वही त्रुटि मिल रही थी।

मेरे स्थानीय आईआईएस इस कोड को जोड़ा था:

<staticContent> 
    <mimeMap fileExtension=".woff" mimeType="application/x-font-woff" /> 
    <mimeMap fileExtension=".woff2" mimeType="application/x-font-woff" /> 
</staticContent> 

कहाँ के रूप में मैं जीत पर इस की जरूरत 2012

<staticContent> 
    <remove fileExtension=".woff" /> 
    <mimeMap fileExtension=".woff" mimeType="application/x-font-woff" /> 
    <mimeMap fileExtension=".woff2" mimeType="application/x-font-woff" /> 
</staticContent> 

यह पहले से ही Win2012 पर आईआईएस के नए संस्करण लगता है .woff है जोड़ा गया है और बजाय मुझे किसी भी प्रकार का विवरण देने का, यह सिर्फ 500 चला गया!

+0

मेरे मामले में, मुझे woff2 को भी हटा देना पड़ा। –

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