Exception handling 与ExceptionLogger和ExceptionHandler混淆-ASP.NET WebApi 2

Exception handling 与ExceptionLogger和ExceptionHandler混淆-ASP.NET WebApi 2,exception-handling,asp.net-web-api2,Exception Handling,Asp.net Web Api2,我的要求是在全球范围内处理异常。我在整个业务逻辑层抛出业务验证异常,我需要优雅地处理这些异常,并向调用者返回正确的错误消息 我在看这篇文章 正如上面的文章所说,我非常困惑,只有当ExceptionFilters和ExceptionLogger没有处理异常时,才会调用ExceptionHandler 我有默认的Application Insights异常过滤器,我认为它会将异常报告给AI 本文指出,我可以有尽可能多的异常记录器,但只有一个异常处理程序,这很好 所以 是否需要在所有控制器的顶部添加A

我的要求是在全球范围内处理异常。我在整个业务逻辑层抛出业务验证异常,我需要优雅地处理这些异常,并向调用者返回正确的错误消息

我在看这篇文章

正如上面的文章所说,我非常困惑,只有当ExceptionFilters和ExceptionLogger没有处理异常时,才会调用ExceptionHandler

我有默认的Application Insights异常过滤器,我认为它会将异常报告给AI

本文指出,我可以有尽可能多的异常记录器,但只有一个异常处理程序,这很好

所以

  • 是否需要在所有控制器的顶部添加AiHandleErrorAttribute?或者它可以在全球范围内工作,而无需在控制器上添加任何组件?下面的代码已经存在

    public static void RegisterGlobalFilters(GlobalFilterCollection filters)
    {
        filters.Add(new ErrorHandler.AiHandleErrorAttribute());
    }
    
  • 如果我添加另一个异常记录器来记录Azure存储中的异常,它会工作(与上面的AI记录器一起),对吗

  • 如果我在所有这些之后添加一个ExceptionHandler,它会被调用吗?是否会调用上述记录器来记录异常


  • 嘿我也在问自己同样的问题。你现在还有什么解释吗??