销毁会话和删除它的值有什么区别?你能提供一个例子来证明这一点吗?
我搜索了这个问题,但没有掌握全部答案。一些答案是:
Session.Abandon()
销毁会话Session.Clear()
只是删除所有值
一位朋友告诉我:
清除会话不会取消设置会话,它仍然存在,具有相同的用户 ID,但只是清除了值。
Abandon 将完全破坏会话,这意味着您需要开始一个新会话,然后才能在会话中为该用户存储更多值。
下面的代码有效并且不会引发任何异常。
Session.Abandon();
Session["tempKey1"] = "tempValue1";
当您 Abandon() 会话时,您(或者更确切地说是用户)将获得一个新的 SessionId
当我测试会话时,当我放弃会话时它没有任何变化。
我只发现一个区别:
session.Abandon()
引发Session_End
事件