关于HttpContext.Current.Response与Page.Response的疑问?
HttpContext.Current.Response与Page.Response应该是同一个HttpResponse的对象,它负责将 HTTP 响应数据发送到客户端。他们的作用都是一样的,但是在Page_UnLoad中却要写成HttpContext.Current.Response,这是什么原因呢?
[解决办法]
mark! 跟着学习下
[解决办法]
HttpContext.Current.Response:当前请求的Response对象,在不同的时候这个的返回值是不一样的。
Page.Response:当前页面的Response对象。
如果请求的是同一个页面,它们是一样的。HttpContext.Current.Response能获取到网站当前任何页面正在相应的请求的Response对象,而Page.Response只是当前页面。
比较拗口。
[解决办法]
对于HttpContext.Current.Response,有可能这一秒是获取到的是甲用户的Response对象,下一秒就是乙用户的Response对象了,它永远是服务器当前处理当前请求的Response对象,这个对象可能是针对不同用户或者不同页面的请求。
而Page.Response永远是处理当前页面时的Response对象。
[解决办法]
使用时有明显不同
page.response只能在当前页使用
而httpcontext.current.response可在任何地方使用
[解决办法]
在Page_UnLoad中使用Response?已经晚了,这时候不可能在输出信息给此页面的客户端了。一定要限制在Render结束之前使用Response。
[解决办法]
up
[解决办法]
页面已经卸载了就没法page.response了
[解决办法]
Page_Unload时页面没了 所以只能用HttpContext.Current.Response
[解决办法]