MVC가 정규 Asp.Net에서 작동하는 것으로 확인한 코드를 변환하려고합니다. 즉, 예외가 발생할 때마다 로깅 메소드를 호출 할 필요없이 Elmah를 사용하여 처리 된 예외를 기록 할 수 있기를 원합니다. 이 모든것과 MVC를 사용하는 모든 솔루션을 둘러 보았습니다. 여기에 간단하고 우아한 하나를 찾았고, 클라이언트 측 호출에 MVC를 사용하더라도 MVC 프로젝트가 아니기 때문에 작동하지 않거나 뭔가 빠졌습니다. How to get ELMAH to work with ASP.NET MVC [HandleError] attribute?Elmah를 사용하여 IExceptionFilter를 사용하여 처리되지 않은 예외를 잡습니다.
는 Global.asax 파일의 두 번째 코드 블록을 배치 말한다 :에서
그래서 여기에 코드
public class ElmahHandledErrorLoggerFilter : IExceptionFilter
{
public void OnException (ExceptionContext context)
{
// Log only handled exceptions, because all other will be caught by ELMAH anyway.
if (context.ExceptionHandled)
ErrorSignal.FromCurrentContext().Raise(context.Exception);
}
}
및
public static void RegisterGlobalFilters (GlobalFilterCollection filters)
{
filters.Add(new ElmahHandledErrorLoggerFilter());
filters.Add(new HandleErrorAttribute());
}
게시물입니다. 이 이벤트는 절대로 나를 부르지 않을 것입니다. 그래서 제가 직접 부름해야하는지 궁금합니다. 그러면 제가 무엇을하고 있는지 궁금합니다. 나는 정기적 인 asp 그물에 상응하는 것이 무엇인지 알고 싶다. 내가 MVC에 대한 참조를 가지고 있기 때문에 나는 MVC에 익숙하지 않다.하지만 MVC dll에 대한 언급은 내가 누군가에게 아이디어가 있습니다.