对于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/