6

我在 Web 配置文件中设置了自定义错误,如下所示:

<customErrors mode="RemoteOnly" defaultRedirect="GenericError.aspx" />

很好,花花公子...我喜欢那种模式=“RemoteOnly”有利于开发...

对于未处理的异常,我在 global.asax 中有:

Sub Application_Error(ByVal sender As Object, ByVal e As EventArgs)
    Response.Redirect("GenericError.aspx")
End Sub

但是,未处理的异常将进入通用错误页面,而不是开发人员首选的信息性黄屏死机。我可以在 global.asax 中注释掉重定向,但是我需要记住为生产环境更改它。有没有办法可以在 Application_Error 中检查我是否远程以确定是否重定向?

4

2 回答 2

4

您不需要Response.RedirectGlobal.asax 中的。它复制了<customErrors>标签的行为。RemoteOnly 将为最终用户提供自定义错误消息,并为本地用户提供标准的 asp.net 错误页面。如果您的开发人员使用本地 Web 服务器进行开发,那么您将两者合二为一。

另一种方法是在开发服务器上设置为<customErrors>,在生产环境中设置为。web.config 中通常有很多项目需要更改,因此不再是困难。OffOn

于 2010-07-19T16:46:35.573 回答
0

如果您在 web.config 中设置了 defaultRedirect,您甚至不需要 Application_Error 中的行。

于 2010-07-19T16:40:53.230 回答