ASP.NET Core MVC (anterior MVC 6) Los errores de maquinilla de afeitar no quedan atrapados por el filtro de excepción
Antecedentes: aplicación MVC 6 ASP.NET 5 (ASP.NET Core 1.0) usando Dapper y el patrón de repositorio
Obviamente, como con cualquier otro sitio web / aplicación, estoy tratando de eliminar la mayoría / todas las excepciones que aparecen en mi sitio web.
Implementé unExceptionFilter
para detectar todas las excepciones no controladas como esta:
public class UnhandledExceptionFilter : ActionFilterAttribute, IExceptionFilter
{
private readonly IErrorRepo _errorRepo;
public UnhandledExceptionFilter(IErrorRepo errorRepo)
{
_errorRepo = errorRepo;
}
public void OnException(ExceptionContext context)
{
try
{
_errorRepo.SaveException(context.Exception);
}
catch { }
}
}
Esto funciona muy bien cuando el error proviene deC#
código. Pero he puesto errores a propósito en mis vistas de afeitadora (archivos cshtml) y NO están siendo atrapados por este filtro.
¿Hay algún atributo / interfaz adicional que deba heredar para detectar las excepciones de la maquinilla de afeitar?
ACTUALIZAR:
Aquí es donde se especifica el atributo de filtro, en el archivo startup.cs en el método ConfigureServices.
services.AddMvc(options =>
{
options.Filters.Add(new UnhandledExceptionFilter(new ErrorRepo(Configuration)));
});