elmah を使用して、asp.net Web API プロジェクトから例外をログに記録しようとしています。各エラーが 2 回ログに記録されるという問題があります。
私は 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());
また、エラーを 1 つだけスローしていること、エラーを生成する呼び出しが 1 回しか呼び出されていないこと、コントローラーまたはメソッドを Elmah 属性で手動で装飾していないことを確認できます。
これを解決するために、Contrib パッケージを削除し、ここにある指示に従って追加しましたhttp://www.tugberkugurlu.com/archive/asp-net-web-api-and-elmah-integration
これで問題は解決せず、依然として 2 回ログに記録されます。Attribute クラスにブレーク ポイントを設定し、エラーごとに 2 回呼び出されていることを確認できました。
どうすればこれを解決できますか?