如何通过查询字符串传递异常对象

本文关键字:异常 对象 字符串 何通过 查询 | 更新日期: 2023-09-27 17:53:03

void Application_Error(object sender, EventArgs e)
{   
    Exception objException = Server.GetLastError().GetBaseException();        
    Server.Transfer("~/ErrorPage/Error_Page.aspx?objException=" 
                        + objException,true);
}
//Error page.aspx page load
protected void Page_Load(object sender, EventArgs e)
{
    object objException = Request.QueryString["objException"];
    //Write exception in log file.
    WriteApplicationErrorLog(objException.Message, objException.StackTrace);
}

在应用程序级别上,我在Global.asax中得到一个异常对象。我需要将这个异常对象传递给页面errorpage.aspx,并将其写入日志文件。

我正在使用上面的代码,但是得到异常消息,而不是对象。

如何通过查询字符串传递异常对象

你可以创建一个类并将异常对象传递给它来记录它,但是如果你想以任何方式将它传递给错误页,那么你可以将异常对象存储在会话中并在错误页中访问它。

void Application_Error(object sender, EventArgs e)
{    
    Session["YourException"] =  Server.GetLastError().GetBaseException();
    Server.Transfer("~/ErrorPage/Error_Page.aspx?objException=" 
                        + objException,true);
}
protected void Page_Load(object sender, EventArgs e)
{
    Exception objException = (Exception ) Session["YourException"];
    //Write exception in log file
    WriteApplicationErrorLog(objException.Message, objException.StackTrace);
}