使用Session.Abandon()注意

本文探讨了在ASP.NET中使用Session.Abandon()与Session.Clear()的区别,尤其是在页面重定向后Session变量的可用性问题。通过一个具体案例说明了如何避免因错误使用Session.Abandon()而导致的数据丢失。
摘要由CSDN通过智能技术生成

部分引用自: http://www.cnblogs.com/jintan/archive/2007/05/10/741175.html

 

最近在修改一个项目的时候碰到一个问题,在登录时使用
Session.Abandon();
Session.Clean();
Session["user"] = "admin";
然后用Page.Redirect("xxx.aspx")后
新页面xxx.aspx中Session["user"] 还是为空,一直找不到问题的所在,后来把Session.Abandon();去掉后就可以了,为什么这样呢?

 

Abandon 方法被调用时,将按序删除当前的 Session 对象,不过在当前页中所有脚本命令都处理完后,对象才会被真正删除。这就是说,在调用 Abandon 时,可以在当前页上访问存储在 Session 对象中的变量,但在随后的 Web 页上不行。

 

使用Session.Clear()没有这个问题

 

如果要用Session.Abandon(),最好放在一个独立的页面。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值