MVC 4 - 如何关闭默认的Error.vbhtml页面?

时间:2012-04-02 15:54:22

标签: asp.net-mvc-3 asp.net-mvc-4

任何人都知道如何关闭默认错误页面或引用它的位置??

2 个答案:

答案 0 :(得分:2)

好吧,我明白了。

事实证明,在我的自定义ElmahHandleErrorAttribute类中,OnException()方法确实被覆盖(应该是这样)。但第一行代码是“MyBase.OnException(context)”,它将触发HandleError属性也执行的操作。

一旦我评论出这一行,我的问题就消失了。

问题是什么?

我在这个Mvc4项目中实施了Elmah.Mvc,它运行得很漂亮。我在Web.config中也有一个自定义错误部分,如下所示:

<customErrors mode="On" defaultRedirect="~/Error/General">
  <error statusCode="404" redirect="~/Error/Http404" />
</customErrors>

我有一个带有两个动作方法的ErrorController,一个用于“常规”,另一个用于“Http404”。

发生了什么事情,如果我提出了一个未处理的错误,我确实会在Elmah中记录我引发的异常,这是一封带有异常的电子邮件,然后显示自定义的“常规”视图(如果是404错误,则为Http404页面)。

但是,我还得到了一个额外的记录异常和电子邮件,因为找不到默认的“Error.vbhtml”文件(我删除了该视图)。

诚实的错误...希望这有助于某些人继续前进。 :)

答案 1 :(得分:-1)

您可以使用web.config文件中的customErrors element来控制它。