如何处理Umbraco

时间:2015-05-30 11:42:21

标签: asp.net-mvc-4 error-handling umbraco7

当发生服务器错误时,我只想要一个自定义错误页面 - 我尝试过在谷歌上发现的无穷无尽的建议组合,但没有任何东西可以让我在那里开始。

基本上,我在表面控制器中有一些错误处理例程,我想记录错误&然后抛出异常,以便在线下某处返回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错误页面。

任何帮助都会受到最高的赞赏,因为这让我疯狂。

1 个答案:

答案 0 :(得分:0)

500个错误是服务器错误,Umbraco与常规IIS没有区别:

  

这是服务器错误,只能由有权访问文件和网络服务器的网站管理员解决。可能有一个或多个原因导致此错误。人们必须追查问题并相应处理。

http://www.codeproject.com/Articles/545054/HTTPplus-plus-e-plusInternalplusserverplus

更多信息: https://serverfault.com/questions/407954/how-to-diagnose-a-500-internal-server-error-on-iis-7-5-when-nothing-is-written-t

编辑:显然您可以启用自定义错误,如下所示:
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