使用Session.Abandon()的时候要小心

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

查了下资料,原来有很多人和我一样碰到同样的问题的。

       一旦调用 HttpSessionState.Abandon 方法,当前会话不再有效,同时会启动新的会话。Abandon 使 SessionStateModule.End 事件被引发。发送下一次请求后将引发新的 SessionStateModule.Start 事件。

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


 

原文地址:https://www.cnblogs.com/jintan/p/741175.html