如何在使用Web Api时修改Elmah电子邮件的主题

时间:2014-01-20 03:35:21

标签: asp.net-web-api elmah

通常在我的Mvc项目中,我在Global.asax.cs中只有一个ErrorMail_Mailing方法,可以访问ErrorMailEventArgs。

但是在WebApi中,此方法不会触发,因此如何在Webapi中访问此信息?

我目前正在使用这种方法(工作正常)

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

1 个答案:

答案 0 :(得分: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方法被调用。