線程正被中止 異常

保存後進行跳轉

程序執行到重定向語句比如 Redirect(..)時,catch(..)塊會捕獲一個異常,"線程正被中止。"(System.Threading.ThreadAbortException)。
捕捉異常後,頁面還是進行了跳轉.

在網上找到2篇文章參考

http://blog.csdn.net/xuandhu/archive/2004/11/17/184726.aspx

http://www.cnblogs.com/loulanlouzhu/archive/2004/04/19/6494.html

原因:
Response.End 方法停止頁的執行,並將該執行變換到應用程序的事件管線中的 Application_EndRequest 事件。 Response.End 後面的代碼行將不執行。


解決:
  • 對於 Response.End,調用 ApplicationInstance.CompleteRequest 方法而不調用 Response.End,以便跳過 Application_EndRequest 事件的代碼執行。
  • 對於 Response.Redirect,使用重載 Response.Redirect(String url, bool endResponse),對 endResponse 參數它傳遞 false以取消對 Response.End 的內部調用。例如:
      Response.Redirect ("nextpage.aspx", false);
    如果使用這種解決方法,Response.Redirect 後面的代碼將得到執行。
  • 對於 Server.Transfer,請改用 Server.Execute 方法。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章