小编bac*_*oor的帖子

Session.Abandon()和Session.Clear()之间的区别是什么

销毁会话和删除其值有什么区别?你能举一个证明这个的例子吗?

我搜索了这个问题,但没有掌握全部答案.一些答案是:

  • Session.Abandon() 破坏会话
  • Session.Clear() 只删除所有值

一位朋友告诉我这个:

清除会话不会取消设置会话,它仍然存在与用户相同的ID,但只是清除了值.

放弃将完全破坏会话,这意味着您需要先开始一个新会话,然后才能在该会话中为该用户存储更多值.

以下代码有效,不会抛出任何异常.

Session.Abandon();
Session["tempKey1"] = "tempValue1";
Run Code Online (Sandbox Code Playgroud)

当您放弃会话时,您(或更确切地说是用户)将获得一个新的SessionId

当我测试Session时,当我放弃会话时它不会做任何改变.

我发现一个区别: session.Abandon()引发Session_End事件

asp.net session asp.net-session

103
推荐指数
4
解决办法
10万
查看次数

标签 统计

asp.net ×1

asp.net-session ×1

session ×1