[asp.net] CustomErrors mode =“끄기”

웹앱을 제공 업체에 업로드 할 때마다 오류가 발생합니다. customErrors 모드로 인해 오류에 대한 자세한 내용을 보려면 customErrors를 끄도록 지시하는 기본 “런타임 오류”메시지 만 표시됩니다.

혼란스러워서 web.config를 다음과 같이 설정했습니다.

<?xml version="1.0"?>
<configuration>
    <system.web>
        <customErrors mode="Off"/>
    </system.web>
</configuration>

그리고 여전히, 내가 얻는 것은 유용한 정보가없는 바보 같은 원격 오류 페이지입니다. customErrors를 끄려면 어떻게해야합니까?!



답변

이것은 지난 며칠 동안 나를 미치게 만들었고 그것을 해결할 수 없었지만 마침내 그것을 알아 냈습니다.

내 machine.config 파일에서 아래에 항목이 있습니다 <system.web>.

<deployment retail="true" />

이것은 web.config 파일에 지정한 다른 customError 설정을 무시하므로 위 항목을 다음으로 설정하십시오.

<deployment retail="false" />

이제 필요한 세부 오류 메시지를 다시 볼 수 있습니다.

machine.config에 위치

32 비트

%windir%\Microsoft.NET\Framework\[version]\config\machine.config

64 비트

%windir%\Microsoft.NET\Framework64\[version]\config\machine.config 

희망은 누군가를 도와주고 몇 시간의 머리카락을 절약하는 것입니다.


답변

“끄기”는 대소 문자를 구분합니다.

web.config 파일에서 “O”가 대문자인지 확인하십시오. 소리가 나는 것처럼 몇 번 어려움을 겪었습니다.


답변

이 질문에 더 많은 상황을 추가하기 위해 (이것은 내가 똑같은 문제를 겪었 기 때문에 내가 보았던 곳이기 때문에) 내 대답은 다음과 같습니다.

내 경우에는 일반적인 오류에서 텍스트를 잘라내어 붙여 넣었습니다. 실제로 잘못된 것을보고 싶다면

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

따라서이 문제는 해결되었지만 물론 아닙니다! 내 문제는 <system.web> 노드가 위의 몇 줄 위에 (컴파일 및 인증 노드 이전에) 닫는 태그 </system.web>이 그 아래에 몇 줄 있다는 것입니다. 이 문제를 해결하면 문제가 해결되었습니다. 내가해야 할 일은 다음 줄만 복사 / 붙여 넣는 것입니다.

<customErrors mode="Off"/>

이것은 “파괴하는 길을 복사하여 붙여 넣기”장에서 내가 계속 반복하고있는 바보 같은 것들의 연대기에서 나온 것입니다.


답변

Sharepoint 2010 응용 프로그램의 경우 편집 C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\LAYOUTS\web.config및 정의 해야 합니다<customErrors mode="Off" />


답변

나는 여기에 설명 된 것들 대부분을 시도했다. VWD를 사용하고 있었고 기본 web.config 파일에 다음이 포함되었습니다.

    <customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
        <error statusCode="403" redirect="NoAccess.htm" />
        <error statusCode="404" redirect="FileNotFound.htm" />
    </customErrors>

mode = “RemoteOnly”를 mode = “Off”로 변경했습니다. 여전히 기쁨은 없습니다. 그런 다음 IIS 관리자, 속성, ASP.Net 탭, 구성 편집을 사용하고 CustomeErrors 탭을 선택했습니다. 이것은 여전히 ​​RemoteOnly를 보여주었습니다. 나는 이것을 끄기로 변경했고 마침내 자세한 오류 메시지를 볼 수있었습니다.

web.config를 검사했을 때 system.web에 두 개의 CustomErrors 노드가 있음을 알았습니다. 방금 두 번째 항목 (내가 변경 한 항목이 주석 안에 있음)을 알았습니다. 따라서 메모장을 사용하여 원격 서버에서 web.config를 검사하지 마십시오.

그러나 IIS 편집 구성을 사용하면 web.config의 오류에 대해 불평합니다. 그런 다음 “web.config에 XML 구문 오류가 있습니까?”라는 답을 모두 배제 할 수 있습니다.


답변

실제로이 문제를 해결하는 데 도움이 된 한 가지 대답은 다음과 같습니다 .https : //.com

이것을 다음에 추가하십시오 web.config:

<configuration>
  <system.webServer>
    <httpErrors existingResponse="PassThrough"/>
  </system.webServer>
<configuration>


답변

액세스 할 수있는 경우 이벤트 뷰어에서 오류에 대한 자세한 정보를 찾을 수 있습니다. 또한 공급자는 machine.config에서 재정의하거나 retail 특성을 true로 설정하여 사용자 지정 오류가 전혀 표시되지 않도록 할 수 있습니다 ( http://msdn.microsoft.com/en-us/library/ms228298 ( VS.80) .aspx ).