HttpContext.Current.Session.Abandon() 大坑 要注意

HttpContext.Current.Session.Abandon();

如果在调用以上代码之后再存储session

在当前上下文之内是可以访问session的..

但是页面跳转之后..在其他页面是访问不了session及cookie的

那句代码相当于枪毙了当前会话..但是存储session还是正常的.. 但是下一次请求中..就是一个新的会话..就没有前边存储的状态了..

所以退出登录是 HttpContext.Current.Session.Abandon(); 和 HttpContext.Current.Session.Clear();

Session.Abandon和Session.Clear有何不同?

主要的不同之处在于当使用Session.Abandon时,会调用Session_End方法(InProc模式下)。当下一个请求到来时将激发Session_Start方法。而Session.Clear只是清除Session中的所有数据并不会中止该Session,因此也不会调用那些方法。
————————————

上一篇:一个接口,多个实现


下一篇:Vue3 从入门到实战 进阶式掌握完整知识体系