异常返回:无法计算表达式,因为代码已优化或本机框架位于调用堆栈之上

时间:2013-05-13 20:46:04

标签: c# asp.net database session

catch(Exception ex)正在返回 “无法评估表达式,因为代码已优化或本机框架位于调用堆栈之上” 在这段代码中:

 cmsql = cnsql.CreateCommand(); 
 cmsql.CommandText = strsql;
 cmsql.CommandType = CommandType.Text; 
 reader = cmsql.ExecuteReader();
 if (reader.HasRows) {
 while (reader.Read()) { 
 Session["User_Email"] = reader["User_Email"].ToString().Trim(); 
 Session["User_Birthday"] = reader["User_birthday"].ToString().Trim(); }
 Response.Redirect("Default.aspx"); }

可能是什么原因?

2 个答案:

答案 0 :(得分:2)

尝试向Response.Redirect方法添加其他参数。如果使用不带第二个参数的Response.Redirect,则会发生异常ThreadAbortException

Response.Redirect("Default.aspx",false);

PRB: ThreadAbortException Occurs If You Use Response.End, Response.Redirect, or Server.Transfer

答案 1 :(得分:-1)

标记的答案并不适用于所有情况。最好的答案是使用

Response.Redirect(theUrl.PathAndQuery, false);