ASP.NET Response.Redirect 丢失 Session的问题
2009-12-15 12:00
302 查看
最近做了一个项目发现 Response.Redirect 后 Session 会丢失,搞了两天终于发现问题所在。
问题代码
当页面跳转到 yyy.aspx , Session 丢失,访问 Session[“xxx”] 得到 null.
原因:当asp.net 执行 Response.Redirect 时会强制终止当前Response ,不发送当前页面的cookie 给浏览器,而是发送一个指令告诉浏览器重新发送一个新的HTTP请求到新的URL,结果导致当前的Session 丢失。
解决这个问题的方法是在当前页面接受Get请求时就设置一下Session ,这样浏览器就会记录下当前的Session Id,当浏览器再发送Post 请求到当前页面时,Server就不需要再发送一次Session ID 的cookie 给浏览器了。
问题代码
Session["xxx"] = xxx; Response.Redirect("yyy.aspx");
当页面跳转到 yyy.aspx , Session 丢失,访问 Session[“xxx”] 得到 null.
原因:当asp.net 执行 Response.Redirect 时会强制终止当前Response ,不发送当前页面的cookie 给浏览器,而是发送一个指令告诉浏览器重新发送一个新的HTTP请求到新的URL,结果导致当前的Session 丢失。
解决这个问题的方法是在当前页面接受Get请求时就设置一下Session ,这样浏览器就会记录下当前的Session Id,当浏览器再发送Post 请求到当前页面时,Server就不需要再发送一次Session ID 的cookie 给浏览器了。
相关文章推荐
- ASP.NET Response.Redirect 丢失 Session的问题
- ASP.NET Response.Redirect 丢失 Session的问题(作废,仅供参考)
- 关于asp.net Session丢失问题的总结
- ASP.NET Session丢失问题原因及解决方案[转载]
- ASP.NET Session丢失问题原因及解决方案(转)
- 【转载】 ASP.NET状态服务及session丢失问题解决方案总结
- asp.net 2.0 Session丢失问题
- ASP.NET状态服务及session丢失问题解决方案总结
- 关于asp.net Session丢失问题的总结
- 【转载】ASP.NET网站问题:删除或重命名站点下的任意目录导致站点重启(Session丢失)及解决办法
- ASP.NET Session丢失问题原因及解决方案
- 关于asp.net Session丢失问题的总结
- ASP.NET网站SESSION丢失的问题
- ASP.NET网站SESSION丢失的问题
- 关于asp.net Session丢失问题的总结
- asp.net 删除项目文件/文件夹IIS重启,Session丢失问题
- 关于asp.net Session丢失问题的总结
- 对于ASP.net 2.0上传文件后session丢失问题的解决方案
- ASP.NET 状态服务 及 session丢失问题解决方案总结
- ASP.NET 状态服务 及 session丢失问题解决方案总结