【发布时间】:2015-05-30 11:42:20
【问题描述】:
当服务器错误发生时,我只想要一个自定义错误页面 - 我已经尝试了我在谷歌上找到的无数建议组合,但什至没有开始让我到达那里。
基本上,我的表面控制器中有一些错误处理例程,我想在其中记录错误然后抛出异常,以便在某处返回 500 响应代码并显示自定义错误页面。
try
{
repository.AddShoppingCartItem(sci);
}
catch(Exception e)
{
Log.Error("whatever...");
throw;
}
然后在我的 web.config 中我尝试过
<customErrors mode="On" defaultRedirect="error500">
</customErrors>
和
<customErrors mode="On" defaultRedirect="umbraco/surface/error500surface">
</customErrors>
(第一个版本使用常规控制器,第二个版本使用表面控制器)
什么都不做。
我也按照其他人的建议添加了这一行,但没有区别:
我得到的是我的正常布局页面与此消息一起呈现:
加载部分视图脚本时出错(文件:~/Views/MacroPartials/Addcart.cshtml)
我想要的是显示一个自定义错误页面。
阅读 google 上的所有内容后,我完全不知道是否需要配置 Umbraco 来处理这些错误,或者它是否是纯 MVC 方法。我的印象是 404 错误是通过 umbraco 完成的,但 500 错误需要是纯 MVC 方法。不知道有没有人能证实这一点。无论哪种方式,链条上的某些东西正在吞噬我的 throw 声明,我不知道它是什么。
我也试过了
返回新的 HttpStatusCodeResult(500);
代替 throw & 只是让我得到一个讨厌的 IIS 错误页面。
任何帮助都将不胜感激,因为这让我发疯了。
【问题讨论】:
标签: asp.net-mvc-4 error-handling umbraco7