我想一次销毁所有会话。我已经尝试过Session.Abondon()
方法,但我不知道为什么这不会破坏所有会话。
问问题
59509 次
6 回答
25
您不能销毁所有会话,只能清除当前会话。您可能必须回收应用程序池以清除所有会话。
用于HttpSessionState.Clear
清除当前会话
来自 MSDN - HttpSessionState.Clear 方法
从会话状态集合中删除所有键和值。
像这样称呼它:
Session.Clear();
于 2012-08-29T06:49:21.317 回答
4
我想一次销毁所有会话
我很确定你不能这样做,除非回收应用程序。
当前接受的答案建议使用Session.Clear
,但这只会清除当前会话 - 它与Session.RemoveAll
.
为什么有两种方法Clear
并且RemoveAll
做完全相同的事情?我怀疑RemoveAll
它是为了向后兼容ASP Classic Session 对象而提供的,而Clear
它是从 .NET 集合中清除项目的更常用的方法名称。
于 2012-08-29T10:43:17.377 回答
3
有三种方法可以删除会话变量
Session.Clear()
Session.RemoveAll()
Session.Abandon()
Clear()
并RemoveAll()
执行相同的操作:删除会话变量,但将当前会话保留在内存中。然而,Abandon()
结束当前会话。
于 2012-08-29T06:51:31.797 回答
0
尝试:
Session.Contents.RemoveAll()
于 2012-08-29T06:50:38.310 回答
0
使用Session.Clear()或Session.RemoveAll()方法
Session.Clear()
or
Session.RemoveAll()
于 2012-08-29T06:51:03.763 回答
0
你必须使用
this.Page.Session.Clear();
Abandon 仅适用于当前会话。
于 2012-08-29T06:54:07.613 回答