繁体   English   中英

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

[英]how to Destroy all sessions at one Time in asp.net?

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

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


使用HttpSessionState.Clear清除当前会话

来自MSDN - HttpSessionState.Clear方法

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

称之为:

Session.Clear();

我想一次销毁所有会话

我很确定你不能这样做,没有回收应用程序。

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

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

放弃仅适用于本届会议。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM