2014-01-20 5 views
0

Обычно в моем проекте Mvc у меня просто есть метод ErrorMail_Mailing в Global.asax.cs, который дает доступ к ErrorMailEventArgs.Как изменить тему электронной почты Elmah при использовании WebApi

Но в WebApi этот метод не срабатывает, поэтому как я могу получить доступ к этой информации в Webapi?

настоящее время я использую эту методологию (которая работает отлично)

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

ответ

1

ELMAH не срабатывает на Web 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