谁能告诉我这里发生了什么?我在两个单独的机器,购物车网站中的两个不同的浏览器上获得了重复的会话ID?
我到目前为止已经生成了一个带有300个字符随机字符串的新会话ID,但它们仍然是重复的
这是新代码......只需取出旧代码的SyncLock内容:
Dim _key As String = String.Empty
SyncLock _locker
_key = Guid.NewGuid().ToString()
Session("Identifier") = Validations.GeneratePassword(150, 300)
Session("SessionID") = _key
Session("SiteID") = "F2630237-E355-4C8A-947E-BBAC97ECA550"
Session("HomePage") = 13
End SyncLock
是的我知道Session(“SessionID”)不是会话ID,但是,我们曾经使用Session.SessionID作为“Identifier”,并且它正在重复
答案 0 :(得分:2)
答案 1 :(得分:1)
我宁愿采取不同的方法
我创建了一个带有标识的表,每次需要会话ID,插入并存储在会话变量中
我认为随机生成器不可信任
答案 2 :(得分:0)
我找到了解决方案。
如果我将web.config中的会话管理器设置为我的类,并且它可以工作
<sessionState mode="InProc" cookieless="false" timeout="20" sessionIDManagerType="o7th.Projects.Core.SessionManager"/>