try practice net handling exceptionfilterattribute error catch best asp exception-handling global asp.net-web-api

exception handling - practice - API web: el filtro ''Global'' no funciona(ExceptionFilter)



web api exception handling best practice (1)

Como mencioné en mi pregunta: hay diferentes colecciones de filtros. Uno para MVC y otro para la API web.

Si desea agregar el filtro a la API web, agregue esta línea de código a global.asax

GlobalConfiguration.Configuration.Filters.Add(new MyExceptionFilter());

Implementé el filtro de excepciones como aquí: http://www.asp.net/web-api/overview/web-api-routing-and-actions/exception-handling Y lo registré globalmente, como microsoft o stackoverflow-users ( Cómo para agregar filtros API globales ASP.Net Web? ) explicado.

public static void RegisterWebApiFilters(System.Web.Http.Filters.GlobalFilterCollection filters) { //other filters filters.Add(new MyExceptionFilter()); }

Pero si lanzo una excepción, mi método no se llama. Se llama a mi método de manejo de excepciones solo si agrego el atributo [MyExceptionFilter] al método controller, pero esperaba poder evitarlo para todos los métodos registrando el filtro globalmente.

Traté de establecer un orden para los filtros, pero esto no tuvo ningún efecto.

Editar: Me he dado cuenta de que en el nuevo Wep Api RC el método se llama "RegisterGlobalFilters" y esta parece ser la colección de filtros MVC.

Si llamo

GlobalConfiguration.Configuration.Filters.Add(new MyExceptionFilter());

funciona. Esta es la colección para la API web.

Parece que tengo que crear mi propia clase "FilterConfig" para la aplicación web ...