0
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在应用程序级别得到一个异常对象。我需要将此异常对象传递给 page errorpage.aspx,并将其写入日志文件。

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

4

1 回答 1

1

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

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);
}
于 2013-01-14T07:21:00.747 回答