저는 ASP.NET 웹 응용 프로그램을 만들고 있습니다. 전체 응용 프로그램에 대한 로깅 프레임 워크를 구현하고 있습니다.ASP.NET 일반적인 오류 페이지 유용한 정보
웹 응용 프로그램은 약 7-8 페이지가 있으며 간단한 CRUD 작업 웹 응용 프로그램입니다.
Azure에서 호스팅하는 응용 프로그램입니다. 다음은 로깅 및 예외 처리를 위해 내가 따르는 접근법입니다.
1) Try ... Data Access Layer 및 Click 이벤트에 블록 잡기를 추가했습니다.
2) 오류가 발생하면 Globabl.asax 레벨까지 예외를 전파하고 Application_Error 이벤트에서 오류를 이벤트 로그 및 추적 로그에 기록합니다.
3)이 후 Global.asax 파일에서 오류 페이지로 이동하여 사용자에게 친숙한 메시지를 표시하고 실패한 페이지에 연결합니다.
4) 이렇게하는 것이 좋은 방법인지 여부를 알고 싶었습니다.
감사합니다.
아니, 노력 아니라고하지만 단지 예를 들어 DB 연결이 시간 초과되는 경우에는 내가하지 않으면, 모든 표준 400 + 내가 ASP.NET 사용자 지정 오류 페이지를 사용하고 500 오류 데이터 액세스 레이어에서 CATCH를 시도해보십시오. 거기에서 흥분이 일어나는 것을 어떻게 알 수 있습니까? – sqlnewbie
그래서 DBException 같은 사용자 지정 예외를 구현하고 Global.asax 수준까지 똑같이 던져서 유형에 따라 사용자에게 서버의 DB 연결에 대한 몇 가지 문제를 말하는 메시지를 표시합니다. 관리자에게 알려주십시오. Click 이벤트에 문제가있는 경우 입력에 문제가 있습니다. 다시 시도하거나 관리자에게 문의하십시오. 좋은 접근 방법입니까? – sqlnewbie
사용자 지정 예외에서 예외를 래핑하는 것은 예외에 대한 추가 정보를 전달할 때 완벽하게 수용 할 수있는 방법입니다. 그러나 사용자는 왜 실패했는지 알 필요가 없으며이를 전달할 것으로 예상해서는 안됩니다. 사용자를 직접 다뤘다면 항상 메시지가 어쨌든 말한 것을 잊어 버리는 것입니다. 그래서 표준 오류 페이지 및 상태 모니터링을 제안합니다. 오류 세부 사항을 기록하도록 상태 모니터링을 구성 할 수 있습니다. 또한 예외가 발생할 때 전자 메일을 보내도록 상태 모니터링을 구성 할 수 있습니다.이 기능을 사용하면 전자 메일을보다 신속하게 처리 할 수 있습니다. – JamieSee