Веб-API: «Глобальный» фильтр не работает (ExceptionFilter)

Я реализовал фильтр исключений, как здесь: 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...

11
задан Community 23 May 2017 в 11:53
поделиться