2013-01-14 117 views
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中的異常對象。我需要這個例外對象傳遞給errorpage.aspx一個頁面,並將其寫入日誌文件。如何通過查詢字符串傳遞異常對象

我使用上面的代碼,但得到的異常信息,而不是對象。

+0

爲什麼不在這個'Application_Error'中記錄異常,然後*然後*重定向到錯誤頁面? –

回答

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); 
} 
+0

沒有會話是可能的 – lax

相關問題