ここのように例外フィルターを実装しました: http://www.asp.net/web-api/overview/web-api-routing-and-actions/exception-handling そして、microsoft や stackoverflow-users のようにグローバルに登録しました ( Howグローバル ASP.Net Web Api フィルターを追加するには? ) を説明しました。
public static void RegisterWebApiFilters(System.Web.Http.Filters.GlobalFilterCollection filters)
{
//other filters
filters.Add(new MyExceptionFilter());
}
しかし、例外をスローすると、メソッドは呼び出されません。私の例外処理メソッドは、属性[MyExceptionFilter]をコントローラー メソッドに追加した場合にのみ呼び出されますが、フィルターをグローバルに登録することで、すべてのメソッドでそれを回避できることを望みました。
フィルターの順序を設定しようとしましたが、効果がありませんでした。
編集:新しい Wep Api RC では、メソッドは「RegisterGlobalFilters」と呼ばれ、これは MVC フィルター コレクションのようです。
私が電話したら
GlobalConfiguration.Configuration.Filters.Add(new MyExceptionFilter());
できます。これは、Web API のコレクションです。
Web API用に独自の「FilterConfig」クラスを構築する必要があるようです...