我實現了像這樣的異常過濾器: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的集合。
貌似我不得不建立自己的「一個FilterConfig」類的網頁API ...
謝謝,我指出了正確的方向。有點愚蠢的所有這些全局過濾器集合... ..而我的異常過濾器註冊正常控制器不起作用。格兒。 –
是的,我有那條線,但它仍然沒有在一些情況下發射..我可以告訴它在調試器初始化,但它不會觸發每個異常在我的網絡api –
在WebAPIv2 [this](http://stackoverflow.com/a/26677989/2944723)爲我工作 – tgarcia