c# - Web API-自定义错误-即将推出

标签 c# asp.net-web-api error-handling

对于WebApi项目中的错误,希望返回自定义的错误页面,而不是返回黄色屏幕,该错误页面在管道的早期发生。

我已经替换了默认的IExceptionHandler。

它比异常过滤器处理更多的错误,后者不处理

  • 异常过滤器
  • 内部错误
  • 与路由
  • 有关的异常
    消息处理程序类中的
  • 错误
    Controller 构造函数
  • 中的
  • 错误

    但是,并非所有异常都通过替换IExceptionHandler来处理

    例如。如果我在Application_BeginRequest中抛出一个错误(仅是管道中发生的一个错误示例),那么它不会被拾取,并且会出现一个黄色屏幕。启用自定义错误后,它会显示为黄色屏幕,但仍然是黄色屏幕。

    我该如何处理所有错误(甚至在管道的早期阶段),并使用正确的响应代码返回自定义JSON错误,就像自定义异常处理程序触发时所做的那样。

    一些文章
    http://www.c-sharpcorner.com/article/exception-handling-in-asp-net-web-api/
    https://www.exceptionnotfound.net/the-asp-net-web-api-exception-handling-pipeline-a-guided-tour/
    https://www.jayway.com/2016/01/08/improving-error-handling-asp-net-web-api-2-1-owin/
    (我没有使用OWIN,但仅供引用)

    我可以在Global.asax Application_Error事件中捕获错误

  • 最佳答案

    您可以做的是在global.asax的application_error方法中使用空对象或参数0等返回json响应。

    关于c# - Web API-自定义错误-即将推出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40043088/

    相关文章:

    c# - WPF - 将窗口标题绑定(bind)到其他项目公共(public)设置

    c# - Sharepoint 中的隐藏标题字段不起作用

    c# - 自定义 AuthorizeAttribute OnAuthorizationAsync 函数

    c# - Web API - 为什么我必须使用 FormDataCollection?

    web-scraping - 如何人为地创建ConnectionRefusedError?

    facebook-graph-api - Instagram API 的错误处理

    c# - CS0019 运算符不能应用于类型为 'bool' 和 'int' 的操作数

    c# - 保存当前视频帧-Windows Store应用

    docker - 事件名称应至少由斜杠分隔的 3 个部分组成。 Asp.Net Core Docker 中的参数名称 eventName

    javascript - 如何在node.js程序中记录每个 "throw"?