您的位置:首页 > 编程语言

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

2017-07-03 20:09 330 查看

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


症状:

如果您使用的Response.EndResponse.RedirectServer.Transfer方法,则ThreadAbortException会发生异常。您可以使用try-catch语句来捕捉此异常。

原因:

Response.End方法结束页执行,并将执行转移到应用程序的事件管道中的Application_EndRequest事件。不执行的Response.End的代码行。
因为这两种方法在内部调用Response.EndResponse.RedirectServer.Transfer方法中将出现此问题。

解决方案:

要解决此问题,请使用下列方法之一:对于Response.End,调用HttpContext.Current.ApplicationInstance.CompleteRequest方法,而不是Response.End绕过到Application_EndRequest事件的代码执行。

对于Response.Redirect,使用Response.Redirect (bool endResponse 字符串 url)传递false以取消内部调用Response.EndendResponse参数的重载。例如:

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


如果您使用此替代方法,请执行下面Response.Redirect的代码。

对于Server.Transfer,而是使用Server.Execute方法。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Response.Redirect
相关文章推荐