ASP.NET 4.5 में अपग्रेड करने के बाद 404 त्रुटि हो रही है


10

मैंने हाल ही में अपने वेब ऐप को .NET 4.5 में अपग्रेड किया है। कोड को हमारे परीक्षण वातावरण में धकेलने के बाद, मुझे "404 - फ़ाइल या निर्देशिका नहीं मिली।" त्रुटि। कोड मेरे VS2013 डेस्कटॉप से ​​ठीक चलता है। वेब सर्वर W2K08 R2 पर IIS 7.5 चला रहा है। मैं .asp या .htm पृष्ठ को साइट पर देख सकता हूं, लेकिन .aspx पृष्ठों में से सबसे सरल देखने का प्रयास करते समय यह त्रुटि मिलती है। मुझे संदेह है कि यह मेरे web.config के साथ एक कॉन्फ़िगरेशन समस्या है।


क्या आप हमें अपना web.config और applicationhost.config भाग दिखा सकते हैं जो आपकी वेबसाइट से संबंधित है?
एंथोनी फॉर्निटो

Web.config पोस्ट करने की कोशिश की, लेकिन यह बहुत लंबा है। आप विशेष रूप से क्या देखना चाहेंगे और मैं उस अनुभाग की प्रतिलिपि बनाऊंगा।
jbonwell

यह पता लगाने में मदद करने के लिए कि हमें गलत तरीके से कॉन्फ़िगर करने की आवश्यकता है, मुख्यतः साइट विशिष्ट भाग। आमतौर पर संपूर्ण web.config सहायक होता है। आपके मुद्दे के लिए applicationhost.config में <site> कंटेनर ठीक होना चाहिए।
एंथोनी फॉर्निटो

लंबे समय तक? आपको इसे यहां पोस्ट करना होगा, प्रत्येक पंक्ति stackoverflow.com/questions/11003761/notepad-add-to-every-line
एंथनी फोनेटिटो

<site name = "SHIPPING" id = "10067" serverAutoStart = "true"> <एप्लीकेशन पाथ = "/ CPORT" एप्लीकेशनपूल = "ASP.NET v4.0 क्लासिक"> <virtualDirectory path = "" physicalPath = "E: \ inetpub \ wwwroot \ WEB_APPS \ CPORT "/> </ अनुप्रयोग> <बाइंडिंग> <बाइंडिंग प्रोटोकॉल =" http "बाइंडिंग इनफॉर्मेशन =" 136.171.92.24:80:stage.chind.com "/> </ बाइंडिंग> <logFile logExtFileFlags =। "दिनांक, समय, क्लाइंटआईपी, उपयोगकर्ता नाम, साइटनाम, कंप्यूटरनाम, सर्वरिप, विधि, उरीस्टेम, उरीवेक, हेटस्टैस्टस, विन32स्टैटस, बाइट्ससेंट" निर्देशिका = "E" \ Inetpub \ SHIPPING \ Logs "> </ site>
jbonwell

जवाबों:


11

यहाँ web.config है। http://go.microsoft.com/fwlink/?LinkId=235367।

The following attributes can be set on the <httpRuntime> tag.
  <system.Web>
    <httpRuntime targetFramework="4.5.2" />
  </system.Web>
  -->
  <system.web>
    <httpRuntime requestValidationMode="4.0" enableHeaderChecking="false" encoderType="System.Web.Security.AntiXss.AntiXssEncoder,System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
    <httpCookies httpOnlyCookies="true"/>
    <compilation debug="true" strict="false" explicit="true">
      <assemblies>
        <add assembly="System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
        <add assembly="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
    <add assembly="System.Drawing.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
      </assemblies>
</compilation>
<trace enabled="false" pageOutput="false"/>
<pages theme="Apps" enableEventValidation="true" validateRequest="true" controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID">
  <namespaces>
    <clear/>
    <add namespace="System"/>
    <add namespace="System.Collections"/>
    <add namespace="System.Collections.Generic"/>
    <add namespace="System.Collections.Specialized"/>
    <add namespace="System.Configuration"/>
    <add namespace="System.Text"/>
    <add namespace="System.Text.RegularExpressions"/>
    <add namespace="System.Linq"/>
    <add namespace="System.Web"/>
    <add namespace="System.Web.Caching"/>
    <add namespace="System.Web.SessionState"/>
    <add namespace="System.Web.Security"/>
    <add namespace="System.Web.Profile"/>
    <add namespace="System.Web.UI"/>
    <add namespace="System.Web.UI.WebControls"/>
    <add namespace="System.Web.UI.WebControls.WebParts"/>
    <add namespace="System.Web.UI.HtmlControls"/>
  </namespaces>
  <controls>
    <add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
    <add tagPrefix="Ipls" assembly="cvx.Ipls.Web" namespace="cvx.Ipls.Web.UI.Controls"/>
    <add tagPrefix="telerik" namespace="Telerik.Web.UI" assembly="Telerik.Web.UI"/>
    <add tagPrefix="ccc" namespace="CSC.Web.Common.Controls" assembly="CSC.Web.Common.Controls35"/>
  </controls>
</pages>
<sessionState mode="InProc" timeout="60"/>
<httpHandlers>
  <add path="Telerik.Web.UI.WebResource.axd" verb="*" type="Telerik.Web.UI.WebResource, Telerik.Web.UI" validate="false"/>
  <add path="*_AppService.axd" verb="*" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
  <add path="ScriptResource.axd" verb="GET,HEAD"  type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" validate="false" /> 
</httpHandlers>
<httpModules>
  <add name="ErrorModule" type="CSC.Web.Common.Errors.ErrorModule"/>
  <add name="securityModule" type="CSC.Web.Common.Security.securityModule"/>
  <add name="RadCompression" type="Telerik.Web.UI.RadCompression"/>
</httpModules>
<identity impersonate="false"/>
  </system.web>
     <!-- 
    The system.webServer section is required for running ASP.NET AJAX under Internet
    Information Services 7.0.  It is not necessary for previous version of IIS.
    -->
  <system.webServer>
    <validation validateIntegratedModeConfiguration="false"/>
   <modules>
  <add name="ErrorModule" type="CSC.Web.Common.Errors.ErrorModule"/>
  <add name="securityModule" type="CSC.Web.Common.Security.securityModule"/>
  <add name="RadCompression" type="Telerik.Web.UI.RadCompression"/>
</modules>
<handlers>
  <add name="Telerik.Web.UI.WebResource.axd_*" path="Telerik.Web.UI.WebResource.axd" verb="*" type="Telerik.Web.UI.WebResource, Telerik.Web.UI" preCondition="integratedMode"/>
  <add name="ScriptResource.axd_GET,HEAD" path="ScriptResource.axd" verb="GET,HEAD" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" preCondition="integratedMode"/>
  <add name="*_AppService.axd_*" path="*_AppService.axd" verb="*" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" preCondition="integratedMode"/>
  <add name="*.asmx_*" path="*.asmx" verb="*" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" preCondition="integratedMode"/>
</handlers>
<httpErrors errorMode="DetailedLocalOnly"/>
<defaultDocument>
  <files>
    <add value="Main.aspx"/>
  </files>
</defaultDocument>
 </system.webServer>
 <runtime>
 <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
  <!--<dependentAssembly>
    <assemblyIdentity name="System.Web.Extensions.Design" publicKeyToken="31bf3856ad364e35"/>
    <bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/>
  </dependentAssembly>-->
 </assemblyBinding>
</runtime>
<location path="Telerik.Web.UI.WebResource.axd">
  <system.web>
    <authorization>
        <allow users="*"/>
    </authorization>
  </system.web>
</location>
<system.serviceModel>
<bindings>
  <basicHttpBinding>
    <binding name="BasicHttpBinding_ITwoWayAsync">
      <security mode="TransportCredentialOnly">
        <transport clientCredentialType="Windows"/>
      </security>
    </binding>
  </basicHttpBinding>
</bindings>
<client>
  <endpoint address="http://servername.com/InformationService/MasterDataService.svc" binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_ITwoWayAsync" contract="MasterData.MasterDataService" name="BasicHttpBinding_ITwoWayAsync"/>
</client>
</system.serviceModel>
</configuration>

आईआईएस एक्सेस लॉग में देखें और हमें 404 को उछालने वाली सटीक प्रविष्टि दिखाएं। इससे मदद मिलेगी। सभी के लिए हम जानते हैं कि "Main.aspx" isn ई में भी: \ inetpub \ wwwroot \ WEB_APPS \ CPORT क्या आप अपने / CPORT में जा रहे हैं ?
जेफ डब्ल्यू।

यहाँ प्रविष्टि है। 146.27.228.73, CT \ jbpj, 12/2/2016, 13:39:12, W3SVC10067, HOU150W8AHV1590, 136.171.92.24, 280, 779, 1498, 404, 1260, GET, / cport/test.aspx, - I परीक्षण के लिए पृष्ठ बदलें।
जोंबवेल

क्या वास्तव में E: \ inetpub \ wwwroot \ WEB_APPS \ CPORT में फ़ाइल सिस्टम पर test.aspx मौजूद है?
जेफ डब्ल्यू।

हाँ, यह मौजूद है।
jbonwell

क्या आपने ऊपर दिए गए सुझाव के अनुसार aspnet_regiis कमांड चलाया था?
जेफ डब्ल्यू।

10

यदि आपके द्वारा प्रदान की गई कॉन्फ़िगरेशन को देखें तो सभी फाइलें वे हैं जहां उन्हें निम्नलिखित करने के लिए माना जाता है।

विंडोज़ सर्वर 2008/2008 R2 के लिए

पहले सुनिश्चित करें कि .NET फ्रेमवर्क 4.5.1 स्थापित है

एक उन्नत कमांड प्रॉम्प्ट से निम्न कमांड चलाएँ:

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i

फिर इंटरनेट सूचना सेवा खोलें

बाईं ट्रीव्यू में सर्वर का चयन करें।

"IIS" अनुभाग में, "ISAPI और CGI प्रतिबंध" खोलें।

"ASP.NET v4.0" से शुरू होने वाली सभी वस्तुओं के लिए, आइटम पर राइट क्लिक करें और "अनुमति दें" चुनें।

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