【问题标题】:ASP.NET 5: What is the recommended approach to catch and log all unhandled exceptions?ASP.NET 5:捕获和记录所有未处理异常的推荐方法是什么?
【发布时间】:2016-01-06 15:10:29
【问题描述】:

我正在构建一个 api 应用程序。 在旧的 ASP.NET 中,有 Application_Error() 来捕获所有未处理的异常

protected void Application_Error()
{
    var exception = Server.GetLastError();
    _logger.FatalException("Fatal error.", exception);
}

在 ASP.NET 5 中应该使用什么?

【问题讨论】:

标签: asp.net asp.net-core


【解决方案1】:

解决方案是添加自定义过滤器。可以这样做:

public void ConfigureServices(IServiceCollection services)
{
    services.AddMvc(options => options.Filters.Add(new MyExceptionFilter()));
}

现在自定义过滤器应该从 IExceptionFilter 派生:

public class MyExceptionFilter : ActionFilterAttribute, IExceptionFilter
{
    public void OnException(ExceptionContext context)
    {

    }
}

不幸的是,它在 Startup.Configuration() 期间没有捕获异常

【讨论】:

  • 您是否能够找到更好的方法来执行此操作,例如 asp 上的“Application_Error”。净 4
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-08-07
  • 2013-04-08
  • 2018-06-12
  • 2012-09-16
  • 2010-09-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多