http://www.asp.net/web-api/overview/web-api-routing-and-actions/exception-handling のような例外フィルタを実装しました。microsoftやstackoverflow-users(How to add global ASP.Net Web Api Filters?)のようにグローバルに登録しました。Web API: 'グローバル'フィルタが機能しない(ExceptionFilter)
public static void RegisterWebApiFilters(System.Web.Http.Filters.GlobalFilterCollection filters)
{
//other filters
filters.Add(new MyExceptionFilter());
}
例外をスローした場合、私のメソッドは呼び出されません。 私の例外処理メソッドは、[MyExceptionFilter]という属性をコントローラメソッドに追加した場合にのみ呼び出されますが、フィルタをグローバルに登録することで、すべてのメソッドに対して回避することができます。
フィルタの順序を設定しようとしましたが、これは効果がありませんでした。
編集:私は新しいのWepアピRC方法は、「RegisterGlobalFilters」と呼ばれ、これはMVCフィルタコレクションのようだということ、気づきました。
私は
GlobalConfiguration.Configuration.Filters.Add(new MyExceptionFilter());
を呼び出した場合、それは動作します。これはWeb APIのコレクションです。異なるフィルタのコレクションがあります。私は、Web APIの自分「に、FilterConfig」クラスを構築する必要がありますように私は私の質問で述べたと同様
は...
おかげで、正しい方向に私を指摘しました。これらすべてのグローバルフィルタコレクションを少し悪用しています...そして、通常のコントローラ用に登録された例外フィルタは機能しません。 Grr。 –
ええ私はその行を持っていますが、それはまだいくつかの場合発射されていません..私はそれがデバッガで初期化されていることがわかりますが、Web APIのすべての例外でトリガーされていません –
WebAPIv2 [this](http://stackoverflow.com/a/26677989/2944723)私のために働いた – tgarcia