如何在asp.net中一次销毁所有会话?

时间:2012-08-29 06:47:55

标签: c# asp.net session

我想一次销毁所有会话。我尝试了Session.Abondon()方法,但我不知道为什么这不会破坏所有会话。

6 个答案:

答案 0 :(得分:23)

您无法销毁所有会话,您只能清除当前会话。您可能必须回收应用程序池以清除所有会话。


使用HttpSessionState.Clear清除当前会话

From MSDN - HttpSessionState.Clear Method

从会话状态集合中删除所有键和值。

称之为:

Session.Clear();

答案 1 :(得分:4)

  

我希望一次销毁所有会话

我确信你不能这样做,不能回收申请。

目前接受的答案建议使用Session.Clear,但这只会清除当前会话 - 它与Session.RemoveAll相同。

为什么有两种方法ClearRemoveAll完全相同?我怀疑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();

放弃只适用于当前会话。