“由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式的值。”

其实网上有很多回答。

 

主要就是抓错,使用 Response.End、Response.Redirect 或 Server.Transfer 方法,将出现 ThreadAbortException 异常。

主要原因是:Response.End 。因为:Response.Redirect 和 Server.Transfer 方法均在内部调用 Response.End。

 

1、对于 Response.End,调用 HttpContext.Current.ApplicationInstance.CompleteRequest 方法而不是 Response.End 以跳过 Application_EndRequest 事件的代码执行。

 

2、对于 Response.Redirect,请使用重载 Response.Redirect(String url, bool endResponse),该重载对 endResponse 参数传递 false 以取消对 Response.End 的内部调用。例如:

try

{

    Response.Redirect("default.aspx");

}

catch(exception e)

{}

catch中会捕获如题异常。

 

将代码中修改:

Response.Redirect("default.aspx",flase);

 

问题就解决了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章