Share via


미들웨어: 처리기를 찾을 수 없는 경우 예외 처리기 미들웨어가 원래 예외를 throw함

ASP.NET Core 5.0 전에 예외 발생 시 예외 처리기 미들웨어는 구성된 처리기를 실행합니다. ExceptionHandlingPath를 통해 구성된 예외 처리기를 찾을 수 없는 경우에는 HTTP 404 응답이 생성됩니다. 응답은 다음과 같은 점에서 잘못된 응답입니다.

  • 사용자 오류인 것 같습니다.
  • 서버에서 예외가 발생했다는 사실을 모호하게 합니다.

ASP.NET Core 5.0에서 잘못된 오류를 해결하기 위해 예외 처리기를 찾을 수 없는 경우 ExceptionHandlerMiddleware는 원래 예외를 throw합니다. 따라서 서버에서 HTTP 500 응답이 생성됩니다. 발생한 오류를 디버그할 때 서버 로그에서 응답을 검토하는 것이 더 쉽습니다.

자세한 내용은 GitHub 이슈 dotnet/aspnetcore#25288을 참조하세요.

도입된 버전

5.0 RC 1

이전 동작

구성된 예외 처리기를 찾을 수 없는 경우 예외 처리기 미들웨어는 HTTP 404 응답을 생성합니다.

새 동작

구성된 예외 처리기를 찾을 수 없는 경우 예외 처리기 미들웨어는 원래 예외를 throw합니다.

변경 이유

HTTP 404 오류는 예외가 서버에서 발생했음을 명확히 나타내지 않습니다. 이 변경으로 인해 다음을 명확히 하는 HTTP 500 오류가 생성됩니다.

  • 문제가 사용자 오류로 인해 발생하지 않았습니다.
  • 서버에서 예외가 발생했습니다.

API의 변경이 없습니다. 모든 기존 앱은 계속 컴파일되고 실행됩니다. throw된 예외는 서버에서 처리됩니다. 예를 들어 Kestrel 또는 HTTP.sys에 의해 예외가 HTTP 500 오류 응답으로 변환됩니다.

영향을 받는 API

없음