İstisna filtresini şu şekilde uygulamamıştım: http://www.asp.net/web-api/overview/web-api-routing-and-actions/exception-handling Ve microsoft veya stackoverflow kullanıcıları (How to add global ASP.Net Web Api Filters?) gibi genel olarak kayıtlı.Web API: 'Global' filtre çalışmıyor (ExceptionFilter)
public static void RegisterWebApiFilters(System.Web.Http.Filters.GlobalFilterCollection filters)
{
//other filters
filters.Add(new MyExceptionFilter());
}
Ancak bir istisna atarsam, yöntemim çağrılmaz. İstisna işleme yöntemim, yalnızca denetleyici yöntemine [MyExceptionFilter] özniteliğini eklediğimde çağrılır, ancak filtreyi genel olarak kaydederek tüm yöntemler için bunu engelleyebileceğimi umuyorum.
Filtreler için bir sipariş ayarlamayı denedim, ancak bunun bir etkisi yoktu.
Düzenleme: Yeni Wep Api RC yöntemi "RegisterGlobalFilters" denir ve bu MVC filtre toplama gibi görünüyor, fark etmiş.
bunun işe yaradığını
GlobalConfiguration.Configuration.Filters.Add(new MyExceptionFilter());
çağırırsanız. Bu, Web Api için koleksiyondur. farklı filtre koleksiyonları vardır: Ben web API için kendi "FilterConfig" sınıfı oluşturmak zorunda gibi Sorumun sözü gibi
...
Teşekkür kod satırını eklemek istiyorsanız
, bana doğru yönde işaret etti. Tüm bu küresel filtre koleksiyonları biraz ... ... ve yine de normal denetleyiciler için kayıtlı benim istisna filtresim işe yaramıyor. Grr. –
Evet, bu satır var ama hala bazı durumlarda ateş etmiyor .. Ben hata ayıklayıcıda başlatılan söyleyebiliriz, ama benim web api –
Web istismarında her tetiklenen değil [bu] (http://stackoverflow.com/a/26677989/2944723) benim için çalıştı – tgarcia