删除时使用哪种会话方法?

时间:2010-07-16 22:16:29

标签: c# .net asp.net

我一直在使用Session.clear(),我在firecookie中注意到会话仍然存在。所以我开始谷歌,发现有4种方法可以删除会话

Session.Remove(strSessionName);      Remove an Item from Session State Collection
Session.RemoveAll()     Remove all items from session collection 
Session.Clear()     Remove all items from session collection  Note: There is no difference between Clear and RemoveAll. RemoveAll() calls Clear(), internally.
Session.Abandon()   Cancels the Current Session

现在清除和删除似乎做同样的事情,但你应该使用哪一个,比如为什么使用remove()而不是放弃清除。

就像你使用session.Abandon一样,它会杀死当前的会话。 clear()删除值。

为什么你只想保持会话没有值?为什么不完全杀掉它?

1 个答案:

答案 0 :(得分:4)

Session.Abandon()在global.asax文件中触发Session_End事件,而Session.Clear()则不触发。

想象一下,您存储用户的会话开始时间和结束时间以用于审计目的的场景 - 您可能希望偶尔清除其会话(例如更新配置文件设置),而不会触发Session_End事件。