2014-01-20 6 views
0

일반적으로 내 Mvc 프로젝트에 ErrorMailEventArgs에 대한 액세스 권한을 부여하는 Global.asax.cs에 ErrorMail_Mailing 메소드가 있습니다.WebApi를 사용하는 경우 Elmah의 이메일 제목을 수정하는 방법

그러나 WebApi에서이 방법은 실행되지 않으므로 Webapi에서이 정보에 어떻게 액세스 할 수 있습니까?

나는 현재 (잘 작동)이 방법

public class ApiErrorHandler : ExceptionFilterAttribute 
    { 
     public override void OnException(HttpActionExecutedContext context) 
     { 
      DepResolver.ExceptionHelper().LogToElmah(context.Exception); 
      base.OnException(context); 
     } 
    } 

답변

1

ELMAH는 기본적으로 웹 API에 발생하지 않습니다를 사용하고 있습니다. 오류를 직접 잡아 ELMAH에 기록하거나 더 잘 기록하려면 Elmah.Contrib.WebApi NuGet 패키지 http://www.nuget.org/packages/Elmah.Contrib.WebApi/을 사용해야합니다. 해당 패키지가 설치로, 단순히 위해 Application_Start에 다음 코드를 추가합니다 :

GlobalConfiguration.Configuration.Filters.Add(new ElmahHandleErrorApiAttribute()); 

은 ErrorMail_Mailing 메소드가 호출되는 트리거한다.

+0

방금 ​​Schmate가 내 하루를 만들어 줘서 고마워 !!! :-) – Baconbeastnz