【问题标题】:Can you access the controller name from within a webapi ExceptionHandler or ExceptionLogger您可以从 webapi ExceptionHandler 或 ExceptionLogger 中访问控制器名称吗
【发布时间】:2018-06-22 10:34:08
【问题描述】:

我正在使用 webapi ExceptionHandler 和 ExceptionLogger 来确保在我的 web api 项目中的控制器级别上一致地记录和处理异常。

我想记录发生异常的控制器名称,但我发现 ActionContext 和 ControllerContext 始终为空,即使在请求期间异常源自控制器。

文档Here 声明(在 ExceptionContext 类下方)

当框架调用异常记录器或异常处理程序时,它总是会提供一个异常和一个请求。除了单元测试之外,它还会始终提供一个 RequestContext。它很少会提供 ControllerContext 和 ActionContext(仅在从 catch 块调用异常过滤器时)。

是否有其他方法可以从处理程序/记录器中记录控制器类名称?

【问题讨论】:

    标签: c# exception-handling asp.net-web-api2


    【解决方案1】:

    使用下面的格式:

    new ExceptionResult(ex, controller)
    

    其中 ex 是例外,controller 是控制器名称

    【讨论】:

    • 但我不知道控制器名称,这就是问题的重点
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-10
    • 1970-01-01
    • 2010-09-25
    • 2014-10-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多