当发生服务器错误时,我只想要一个自定义错误页面 - 我尝试过在谷歌上发现的无穷无尽的建议组合,但没有任何东西可以让我在那里开始。
基本上,我在表面控制器中有一些错误处理例程,我想记录错误&然后抛出异常,以便在线下某处返回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方法。不知道是否有人可以证实这一点。无论哪种方式,链条上的东西吞噬我的抛出声明&amp;我不知道它是什么。
我也试过
返回新的HttpStatusCodeResult(500);
代替投掷&amp;这只会给我一个令人讨厌的IIS错误页面。
任何帮助都会受到最高的赞赏,因为这让我疯狂。
答案 0 :(得分:0)
500个错误是服务器错误,Umbraco与常规IIS没有区别:
这是服务器错误,只能由有权访问文件和网络服务器的网站管理员解决。可能有一个或多个原因导致此错误。人们必须追查问题并相应处理。
http://www.codeproject.com/Articles/545054/HTTPplus-plus-e-plusInternalplusserverplus
编辑:显然您可以启用自定义错误,如下所示:
http://helpnotes.vpasp.com/kb/611-General-hosting-questions/1089-How-to-Turn-Off-Friendly-Error-in-IIS-7xx/
Edit2:这也可能是有意义的:
http://benfoster.io/blog/aspnet-mvc-custom-error-pages