문제

Elmah를 설정하고 구성하여 작업중인 ASP.NET MVC 프로젝트에 모든 오류를 기록했습니다. 너무 많이 알 필요가없는 소규모 사용자 그룹이 사용합니다. 어느 일종의 오류 (404, Invalidoperation, y2k ... 뭐든지!) 나는 헬프 데스크를 호출하고 꽉 앉는 지침으로 일반적인 기본 오류보기를 보여주고 싶습니다.

Elmah는 헬프 데스크 직원이 오류를 진단하고 필요에 따라 티켓을 로그 / 높이기 위해 사용할 수있는 잘 작동합니다. 내 문제는 글로벌 오류 페이지를 표시하는 것입니다. 게시 된 솔루션을 사용하고 있습니다 여기 Elmah와 [handleerror]가 함께 잘 연주되도록합니다.

web.config는 다음과 같이 설정됩니다.

<customErrors mode="On" />

내가 액세스하는 경우 http : // application/home/index LINQ 오류가있는 (시퀀스가 요소가 포함되어 있음) /shared/error.aspx에서 멋진 일반적인 오류보기가 표시되지만 액세스하려고하는 경우에 표시됩니다. http : // application/fake/broken 404인데 일반적인 asp.net을 얻습니다.

Server Error in '/' Application.
The resource cannot be found.
Description: HTTP 404. The resource you are looking for (or one of its dependencies) could have been removed, had its name changed, or is temporarily unavailable.  Please review the following URL and make sure that it is spelled correctly.

Requested URL: /Fake/Broken

그러나 두 오류 모두 Elmah에 의해 완벽하게 기록됩니다.

도움이 되었습니까?

해결책

일반 오류 페이지를 표시하려는 경우 페이지 자체를 지정할 수 있습니다.

<customErrors mode="On" defaultRedirect="error.htm" />

이는 모든 처리되지 않은 예외, 페이지가없는 페이지 등이 "error.htm"을 표시하게합니다. 오류 코드에 대해 더 구체적으로 할 수 있습니다.

<customErrors mode="On">
  <error statusCode="404" redirect="notfound.htm"/>
</customErrors>

다른 팁

IIS 7을 사용하는 경우 이것을 추가해야 할 수도 있습니다.

<system.webServer>

구성 파일의 섹션

<httpErrors errorMode="Custom" existingResponse="PassThrough" />
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top