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

有时,在传链接的时候,进行一个文件的下载,使用到了Response操作,便会出现标题上的问题:由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式的值。

解决方法:

方法一: 在Response.Redirect后加return。
方法二: 使用重载函数Response.Redirect(String url, bool endResponse),例如:Response.Redirect ("nextpage.aspx", false)。
方法三: 调用 HttpContext.Current.ApplicationInstance.CompleteRequest 方法。
 
顺便对Http请求的相关概念整理下,加深下印象:
Web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象、和代表响应的response对象。 request和response对象即然代表请求和响应,那我们要获取客户机提交过来的数据,只需要找request对象就行了。要向容器输出数据,只需要找response对象就行了。
 

request和response的区别:

request(转发):服务器端跳转;地址栏不发生变化(地址栏是初次发出的请求的地址)
response(重定向):客户端跳转;地址栏发生变化(地址栏为最后发出请求的地址)
request:转发web项目的根目录
response:重定向任何资源
request:转发web项目的根目录
response:重定向web应用的根目录
 
参考:
  • https://bbs.csdn.net/topics/380263118
  • https://www.cnblogs.com/jatpeo/p/11767547.html
 
原文地址:https://www.cnblogs.com/zhucheng88/p/14714493.html