2011-11-04 1 views
0

Elmah는 멋지지만이 작은 비즈니스 응용 프로그램에 대해서는 약간 무겁고 우리는 이미 백엔드 예외에 대한 로그와 뷰를 가지고 있습니다.elmah없이 MVC3 손보 예외 처리

좋아요. 그렇기 때문에 세관 오류를 사용하고 MVC3 HandleErrorAttribute를 사용하여 사용자 정의 페이지를 렌더링 했으므로 훌륭하게 작동합니다. 그러나 컨트롤러에 컨트롤러를 연결하는 방법이 없다는 것을 이해하면 로거와 로그를 주입 할 수있는 방법이 없습니다. 글로벌 asax에서 Appplicationerror 메서드를 사용할 수 있지만 좋은 방법으로 globalasax에 로거를 주입 할 수는 없습니다.

그래서 처리되지 않은 예외를 잡는 가장 좋은 방법은 좋아하는 IoC를 사용하여 로거를 주입하고 기록하는 것입니다.

답변

0

나는 이렇게했는데, HandleErrorAttribute에서 상속했다. HandleErrorAttribute에는 생성자 인수로 내 로거 인터페이스가있다.

다음

kernel.BindFilter<HandleAndLogErrorAttribute >(FilterScope.Global, 0); 
Ninject에 내 경우, 내 IOC의에 해당 필터를 결합