【发布时间】:2016-03-23 15:20:20
【问题描述】:
我在我的应用程序中使用 ASP.NET 自定义错误页面。以下是 CustomErrors 标签的 web.config 文件条目
<customErrors mode="On" defaultRedirect="Error.aspx" redirectMode="ResponseRewrite" />
以下是Error.aspx页面上的代码sn-p
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
Exception ex = Server.GetLastError();
if(ex != null)
{
CommonUtils.SendException(ex.Message.ToString(), ex.StackTrace.ToString());
Server.ClearError();
}
}
}
如果“ex”不为空,代码将发送异常电子邮件。这工作正常。
发送电子邮件后,我想清除所有错误,以便在用户点击刷新按钮时不会发送电子邮件。但是即使使用了Server.ClearError,当页面回传时,Server.GetLastError() 也会返回一个值。
【问题讨论】:
-
为什么不将它保存在 Global.asax 的
ApplicationError()方法中并使用 server.transfer() 导航到错误页面