【问题标题】:Remove HttpContext.Current.Session删除 HttpContext.Current.Session
【发布时间】:2011-08-03 14:05:53
【问题描述】:

我有一个存储会话变量的应用程序。当我注销时,我会在可用会话上调用 RemoveAll() 方法。

该方法似乎不起作用。您知道如何强制删除 Session 变量吗?

问候。

【问题讨论】:

  • "这个方法好像不行。"不能很好地描述您的问题。你怎么知道的?有什么症状? 正在发生什么

标签: c# asp.net class session httpcontext


【解决方案1】:
Session.Abandon()

取消当前会话

Session.Clear() 

只会清除会话数据,会话将保持活动状态

更多详情:

Session.Abandon() 方法销毁存储在 Session 对象中的所有对象并释放它们的资源。如果不显式调用Abandon方法,服务器会在会话超时时销毁这些对象(我可能会补充:Session_OnEnd事件被触发)

http://msdn.microsoft.com/en-us/library/ms524310.aspx

Session.Clear() 只是从对象中删除所有值(内容)。具有相同密钥的会话仍然存在。

【讨论】:

  • 非常感谢。两种方法有什么区别? Abandon() 是否删除保存在特定会话中的对象? Clear() 方法究竟做了什么?是否将会话对象恢复为默认值?
  • @Massimiliano 关于: Session_OnEnd 事件被触发。 注意: 对于进程外会话存储提供程序(SQL 或 StateServer),不会触发 Session_OnEnd
猜你喜欢
  • 2016-03-10
  • 2011-08-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-03-31
  • 2016-10-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多