我在网络配置文件中设置了自定义错误,如下所示:
<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我是否是远程的,以确定是否重定向?
答案 0 :(得分:4)
您不需要Global.asax中的Response.Redirect
。它复制了<customErrors>
标记的行为。 RemoteOnly将为最终用户提供自定义错误消息,本地用户将使用标准的asp.net错误页面。如果您的开发人员使用本地Web服务器进行开发,那么您可以同时使用它
另一种方法是在开发服务器上将<customErrors>
设置为Off
,并在生产环境中将其设置为On
。 web.config中通常有许多项需要更改,因此不再是困难。
答案 1 :(得分:0)
如果在web.config中设置了defaultRedirect,则甚至不需要Application_Error中的行。