尝试将Global.asax 1.0文件转换为3.5问题与Application_Error + Session和Redirect

时间:2010-01-08 20:43:59

标签: c# asp.net-3.5 session-variables global-asax

所以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中也存在错误。但是,如果我注释掉所有应用程序启动代码,我仍然会收到错误,但它们永远不会被重定向到错误页面。

1 个答案:

答案 0 :(得分:0)

此链接可能有所帮助:Exceptional Gotchas!。 此外,使用web.config文件定义错误的默认重定向页面。