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 부분을 알려주시겠습니까?
Anthony Fornito

web.config 게시를 시도했지만 너무 깁니다. 구체적으로보고 싶은 부분이 있으면 해당 섹션을 복사하겠습니다.
jbonwell

무엇이 잘못되었는지 확인하려면 구성, 주로 사이트 별 부분을 확인해야합니다. 일반적으로 전체 web.config가 도움이됩니다. 문제에 대한 applicationhost.config에서 <site> 컨테이너는 정상입니다.
Anthony Fornito

길이에? 각 라인의 시작에 없음 4 공백 \ 찾기 및 바꾸기 위해, 여기에 게시하는 데 사용하는 메모장 ++ 것이다 stackoverflow.com/questions/11003761/notepad-add-to-every-line
안토니 Fornito에게

<site name = "SHIPPING"id = "10067"serverAutoStart = "true"> <application path = "/ CPORT"applicationPool = "ASP.NET v4.0 Classic"> <virtualDirectory path = "/"physicalPath = "E : \ inetpub \ wwwroot \ WEB_APPS \ CPORT "/> </ application> <bindings> <binding protocol ="http "bindingInformation ="136.171.92.24:80:stage.chx.com "/> </ bindings> <logFile logExtFileFlags = "날짜, 시간, ClientIP, 사용자 이름, SiteName, ComputerName, ServerIP, 메소드, UriStem, UriQuery, HttpStatus, Win32Status, BytesSent"directory = "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>

iis 액세스 로그를보고 404를 던지고있는 정확한 항목을 알려주십시오. 도움이 될 것입니다. 모든 우리는 심지어 E에서 "Main.aspx"밤은 알고 : \을 Inetpub \ wwwroot에 \ WEB_APPS \ CPORT는 건가요에 yoursite / CPORT ?
Jeff W.

여기에 항목이 있습니다. 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 인 경우 페이지를 test.htm으로 변경하면 나타납니다.
jbonwell

test.aspx가 E : \ inetpub \ wwwroot \ WEB_APPS \ CPORT의 파일 시스템에 실제로 존재합니까?
Jeff W.

예, 존재합니다.
jbonwell

위에서 제안한대로 aspnet_regiis 명령을 실행 했습니까?
Jeff W.

10

모든 파일이 다음과 같은 위치에있는 경우 제공 한 구성을 확인하십시오.

Windows Server 2008/2008 R2의 경우

먼저 .NET Framework 4.5.1이 설치되어 있는지 확인하십시오.

관리자 권한 명령 프롬프트에서 다음 명령을 실행하십시오.

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

그런 다음 인터넷 정보 서비스를 엽니 다

왼쪽 트 리뷰에서 서버를 선택하십시오.

"IIS"섹션에서 "ISAPI 및 CGI 제한"을 엽니 다.

"ASP.NET v4.0"으로 시작하는 모든 항목의 경우 항목을 마우스 오른쪽 단추로 클릭하고 "허용"을 선택하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.