Я реализовал фильтр исключений, как здесь: http://www.asp.net/web-api/overview/web-api- маршрутизация и действия/обработка исключений И зарегистрировал его глобально, например, пользователи Microsoft или stackoverflow ( Как добавить глобальные фильтры 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());
, это сработает. Это коллекция для веб-API.
Похоже, мне нужно создать собственный класс "FilterConfig" для веб-API...