我正在尝试使用 elmah 从我的 asp.net web api 项目中记录异常。我遇到了一个问题,每个错误都被记录了两次。
我正在使用 Elmah.Contrib.Web-Api,我的 Application 类如下:
public class WebApiApplication : System.Web.HttpApplication
{
protected void Application_Start()
{
GlobalConfiguration.Configuration.Filters.Add(new ElmahHandleErrorApiAttribute());
RouteTable.Routes.MapHubs();
RouteConfig.RegisterRoutes(RouteTable.Routes);
#if DEBUG
EntityFrameworkProfiler.Initialize();
#endif
GlobalConfig.CustomizeConfig(GlobalConfiguration.Configuration);
}
}
如果我注释掉以下行,那么我根本不会收到任何消息:
GlobalConfiguration.Configuration.Filters.Add(new ElmahHandleErrorApiAttribute());
而且我可以确认我只抛出了一个错误,并且只调用了一次生成错误的调用,并且我没有使用 Elmah 属性手动修饰我的控制器或方法。
为了尝试解决这个问题,我删除了 Contrib 包并按照此处的说明添加了http://www.tugberkugurlu.com/archive/asp-net-web-api-and-elmah-integration
这并没有解决问题,它仍然记录了两次。它确实允许我在 Attribute 类中放置一个断点,并确认每个错误都被调用了两次。
我该如何解决这个问题?