如何在asp.net中一次销毁所有会话?
我想一次销毁所有会话。 我已经尝试过Session.Abondon()
方法,但我不知道为什么这不会破坏所有会话。
你无法销毁所有会话,你只能清除当前会话。 您可能必须回收应用程序池以清除所有会话。
使用HttpSessionState.Clear
清除当前会话
来自MSDN – HttpSessionState.Clear方法
从会话状态集合中删除所有键和值。
称之为:
Session.Clear();
我想一次销毁所有会话
我很确定你不能这样做,没有回收应用程序。
当前接受的答案建议使用Session.Clear
,但这只会清除当前会话 – 它与Session.RemoveAll
相同。
为什么Clear
和RemoveAll
有两种方法完全相同? 我怀疑RemoveAll
是为了向后兼容ASP Classic Session对象而提供的,而Clear
是用于从.NET Collection清除项目的更常用的方法名称。
有三种方法可以删除会话变量
Session.Clear() Session.RemoveAll() Session.Abandon()
Clear()
和RemoveAll()
执行相同的操作:删除会话变量但将当前会话保留在内存中。 然而, Abandon()
结束当前会话。
尝试:
Session.Contents.RemoveAll()
使用Session.Clear()或Session.RemoveAll()方法
Session.Clear() or Session.RemoveAll()
你必须使用
this.Page.Session.Clear();
放弃仅适用于本届会议。