【发布时间】:2018-05-21 20:48:43
【问题描述】:
我正在尝试在我们的 Web API 项目中创建一个 customError 页面。如果 API 中发生任何未处理的错误,我需要重定向到某个自定义页面,或者如果路由不可用,那么我还需要重定向到某个自定义错误页面。为此,我在 web.config 文件中添加了以下设置。
<compilation debug="true" targetFramework="4.5" />
<customErrors mode="On" defaultRedirect="~/Error">
<error statusCode="404" redirect="~/Error"/>
</customErrors>
我在共享文件夹中添加了 Error.cshtml 视图。 (注意:我的项目中没有Error控制器)
但如果我点击任何无效路径,我将获得 IIS 设置 404 页面。请看截图。
不确定,我到底错过了什么。 此外,如果我附加了一个调试器,它不会来自 Global.asax.cs 的 Application_Error 方法(例如 404/501 错误)。令人惊讶。
您的帮助将不胜感激。
【问题讨论】:
-
自定义错误页面适用于普通的 mvc 控制器而不是 apiControllers,因为 api 控制器不引用视图页面
-
那有什么选择呢?我怎样才能实现上述场景?
标签: asp.net asp.net-web-api custom-errors