2009-07-28 4 views
2

ASP.NET에서 일반적으로 사람들은 global.asax 파일 inorder에 "Application_Error"라는 보호 된 메서드를 넣어 말하기, logging of exceptions을 처리합니다.ASP.NET MVC의 global.asax에서 Application_Error 메서드를 사용해야합니까?

제 질문은 ASP.NET의 유일한 것입니까, 아니면 ASP.NET MVC에서도 똑같이 작동합니까? ASP.NET MVC 모범 사례인가요?

+0

Application_Error() 메서드를 사용할 수는 있지만 예상대로 작동하지 않습니다. 여기에 우리가 더 이상 문제를 논의하고 또 다른 질문입니다 : http://praveenbattula.blogspot.com/2009/12/iis-7-managed-pipeline-mode-globalasax.html –

답변

5

컨트롤러에서 예외를 처리하려면 예외 필터를 사용해야합니다. Controller 작업에 [HandleError] 특성을 추가하여이 작업을 수행 할 수 있습니다. 자세한 내용은에서 확인할 수 있습니다. MS MVP MVC Blog

2

better yet, use ELMAH은 사용할 수 있지만 Application_Error 블록을 사용할 수 있습니다. 그것은 사랑스러운 오류 로깅 도구입니다 (그리고 저는 ASP.Net/ASP.Net MVC에 번들되지 않은 것에 놀랐습니다).

사용하지 않은 경우 황색 화면과 환경 변수를 캡처하여 사용자가 발견 한 오류를 검토 할 수 있습니다.

이와 함께 모든 컨트롤러는 Wolfwyrd가 연결된 [HandleError] 속성으로 장식 된 컨트롤러 기본 클래스를 상속하므로 두 세계에서 최상의 성능을 얻을 수 있습니다.

-2

ASP.Net에서 작동하는 것이라면 무엇이든지 ASP.Net MVC에서 작동하며 아무 의미가 있습니다. 코드 숨김과 Viewstate가있는 이전 스타일의 ASPX 페이지를 포함합니다.

+1

ASP.NET에서 모든 것이 _supposed_ 작동합니다 MVC3에서. 안타깝게도 프레임 워크간에 동일한 동작이없는 것은 Application_Error() 메서드입니다. http://praveenbattula.blogspot.com/2009/12/iis-7-managed-pipeline-mode-globalasax.html . –

+0

이것은 완전히 사실이 아니며 오해의 소지가 있습니다. MVC에서는 작동하지 않는 것들이 많이 있습니다. 또 다른 예는 Server.Transfer입니다. – Carvellis