全局异常过滤器不会在异常上触发

时间:2018-08-06 23:37:22

标签: c# asp.net-core-2.0

我是ASP.NET和C#的新手。我正在使用ASP.NET Core 2.0 MVC应用程序。

Startup.cs

public void ConfigureServices(IServiceCollection services)
{
   (services, Configuration)
   .RegisterMvc();
}

RegisterMvc方法

public static (IServiceCollection services, IConfiguration configuration) RegisterMvc(this (IServiceCollection services, IConfiguration configuration) aspnet)
{
    var (services, configuration) = aspnet;

    services
        .AddMvc(options =>
        {
            options.Filters.Add(new GlobalExceptionFilter());
        });

    return aspnet;
}

GlobalExceptionFilter

public void OnException(ExceptionContext context)
{
    var exception = context.Exception;
    Log.LogError(LogDescription, exception.Message, exception);
}

当发生异常时,执行流程需要进入OnException方法,但这没有发生。有想法吗?

更新

这段代码可以正常工作,但是即使我捕获到异常,我也需要此过滤器来触发。

0 个答案:

没有答案