所以Global.asax是这样的:
protected void Application_Error(object sender,System.EventArgs { Session [“CustomError”] = Server.GetLastError(); Server.ClearError(); 的Response.Redirect( “〜/ ErrorPage.aspx”); }
在ErrorPage.aspx中是这样的:
private void Page_Load(object sender,System.EventArgs e) { Exception currentException =((Exception)Session [“CustomError”])。InnerException;
//写入错误消息 if(currentException!= null) txtErrorMessage.Text = currentException.Message;
//循环内部异常。 currentException =(Exception)Session [“CustomError”]; while(currentException!= null) { message.Append(currentException.Message).Append( “\ r \ n” 个)追加(currentException.StackTrace)。 message.Append(“\ n =========================================== === \ n“); currentException = currentException.InnerException; }
由于这是旧的1.0代码,因此在转换为3.5 Global.asax文件时会进行barfs。它告诉我“会话”不可用,而且我不能重定向?我认为其中一个问题可能是Application_Start中也存在错误。但是,如果我注释掉所有应用程序启动代码,我仍然会收到错误,但它们永远不会被重定向到错误页面。