ASP.NET 4.5'e yükselttikten sonra 404 hatası alıyorum


10

Kısa süre önce web uygulamamı .NET 4.5'e yükselttim. Kodu test ortamımıza aktardıktan sonra bir "404 - Dosya veya dizin bulunamadı." hata. Kod VS2013 masaüstümden iyi çalışıyor. Web sunucusu W2K08 R2 üzerinde IIS 7.5 çalıştırıyor. Sitede .asp veya .htm sayfasını görüntüleyebilirim, ancak .aspx sayfalarının en basitini görüntülemeye çalıştığınızda bu hatayı alıyorum. Web.config ile ilgili bir yapılandırma sorunu olduğundan şüpheleniyorum.


Bize web.config ve web sitenizle ilgili applicationhost.config bölümünü gösterebilir misiniz?
Anthony Fornito

Web.config dosyasını göndermeyi denedim, ancak çok uzun. Özellikle ne görmek istersiniz ve ben o bölümü kopyalayacağım.
jbonwell

Neyin yanlış olduğunu bulmamıza yardımcı olmak için, yapılandırmaları, özellikle siteye özgü kısmı görmemiz gerekir. Genellikle web.config dosyasının tamamı yardımcı olur. Sorunu için applicationhost.config dosyasında <site> kapsayıcısı iyi olmalıdır.
Anthony Fornito

Çok mu uzun? buraya göndermeniz, her satırın başında \ n öğesini bulmak ve 4 boşlukla değiştirmek için notepad ++ kullanmanız gerekir stackoverflow.com/questions/11003761/notepad-add-to-every-line
Anthony Fornito

<site name = "SHIPPING" id = "10067" serverAutoStart = "true"> <uygulama yolu = "/ CPORT" applicationPool = "ASP.NET v4.0 Klasik"> <virtualDirectory yolu = "/" fizikselYol = "E: \ inetpub \ wwwroot \ WEB_APPS \ CPORT "/> </application> <bindings> <bağlayıcı protokol =" http "bağlamaInformation =" 136.171.92.24:80:stage.chx.com "/> </bindings> <logFile logExtFileFlags = "Tarih, Saat, ClientIP, KullanıcıAdı, SiteAdı, BilgisayarAdı, SunucuIP, Yöntem, UriStem, UriQuery, HttpStatus, Win32Status, BytesSent" directory = "E: \ Inetpub \ SHIPPING \ Logs" /> </site>
jbonwell

Yanıtlar:


11

İşte 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>

iis erişim günlüğüne bakın ve size 404'ü atan tam girişi gösterin. Bu size yardımcı olacaktır. bildiğimiz herkes için "Main.aspx" bile E: \ inetpub \ wwwroot \ WEB_APPS \ CPORT Sitenize / CPORT'agidiyorsunuz ?
Jeff W.

İşte giriş. 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, - Eğer sayfayı test.htm olarak değiştirin, ortaya çıkıyor.
jbonwell

test.aspx aslında E: \ inetpub \ wwwroot \ WEB_APPS \ CPORT dosya sisteminde var mı?
Jeff W.

Evet, var.
jbonwell

Yukarıda önerildiği gibi aspnet_regiis komutunu çalıştırdınız mı?
Jeff W.

10

Tüm dosyalar olması gereken yerde ise, sağladığınız yapılandırmaya bakın.

Windows Server 2008/2008 R2 için

İlk olarak .NET Framework 4.5.1'in kurulu olduğundan emin olun

Yükseltilmiş bir komut isteminden aşağıdaki komutu çalıştırın:

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

Sonra Internet Information Services'ı açın

Sol ağaç görünümünde Sunucu'yu seçin.

"IIS" bölümünde, "ISAPI ve CGI Kısıtlamaları" nı açın.

"ASP.NET v4.0" ile başlayan tüm öğeler için, öğeye sağ tıklayın ve "İzin Ver" i seçin.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.