重复的会话ID

jib*_*usa 2 c# asp.net session

嗨,我正在研究Sessions,并且不知道乳清会话ID的创建方式与前一个相同.

我有一个日志表,告诉哪个用户已登录,它的时间和存储其唯一的会话ID.当它注销会话ID的系统检查时,n将其状态更改为注销.

但是当用户再次登录时,创建的会话ID是相同的,我不知道错误是什么.

该守则如下

登录cs文件

HttpContext.Current.Session["user"]=user;
HttpContext.Current.Session["sessionid"]=HttpContext.Current.Session.SessionID;
Run Code Online (Sandbox Code Playgroud)

当用户注销时

注销cs文件

HttpContext.Current.Session.Abandon();
Run Code Online (Sandbox Code Playgroud)

等待你的帮助.提前致谢

Lua*_*aan 5

ASP.NET不保证会话ID在该会话的生命周期之外是唯一的(即,没有具有相同ID的生活会话),我很害怕.如果您需要该功能,则应该使用自己的唯一标识符.


Sub*_*cob 5

你可以Guid.NewGuid().ToString()改用。ASP.NET不保证会话 ID 在会话的生命周期之外是唯一的。

虽然不能保证每个生成的GUID都是唯一的,但唯一键的总数 >(2^128 或 3.4×10^38)是如此之大,以至于同一个数字被生成两次的概率非常小。例如,考虑可观测的宇宙,它包含大约 5×10^22 个 > 恒星;每颗星星都可以有 6.8×10^15 个普遍唯一的GUID

您始终可以相信 GUID 始终是唯一的。这就是GUID的真正目的。 这个SO问题询问了唯一的 Id。