我想一次销毁所有会话。我尝试了Session.Abondon()
方法,但我不知道为什么这不会破坏所有会话。
答案 0 :(得分:23)
您无法销毁所有会话,您只能清除当前会话。您可能必须回收应用程序池以清除所有会话。
使用HttpSessionState.Clear
清除当前会话
From MSDN - HttpSessionState.Clear Method
从会话状态集合中删除所有键和值。
称之为:
Session.Clear();
答案 1 :(得分:4)
我希望一次销毁所有会话
我确信你不能这样做,不能回收申请。
目前接受的答案建议使用Session.Clear
,但这只会清除当前会话 - 它与Session.RemoveAll
相同。
为什么有两种方法Clear
和RemoveAll
完全相同?我怀疑RemoveAll
是为了向后兼容ASP Classic Session object而提供的,而Clear
是更常用的方法名称,用于清除.NET Collection中的项目。
答案 2 :(得分:3)
有三种方法可以删除会话 变量
Session.Clear()
Session.RemoveAll()
Session.Abandon()
Clear()
和RemoveAll()
执行相同的操作:删除会话变量
但保持当前会话在内存中。然而,Abandon()
结束了当前
会话。
答案 3 :(得分:0)
尝试:
Session.Contents.RemoveAll()
答案 4 :(得分:0)
使用Session.Clear()或Session.RemoveAll()方法
Session.Clear()
or
Session.RemoveAll()
答案 5 :(得分:0)
你必须使用
this.Page.Session.Clear();
放弃只适用于当前会话。