我有一个会话变量:ID。同一台 PC 上的两个浏览器是否有可能共享相同的会话变量并对其进行更新,从而产生随机结果。我希望总是有两个单独的会话,带有两组单独的会话变量。
我对此进行了研究,并且浏览了以下网页,这表明存在会话锁以防止这种情况发生:http://odetocode.com/blogs/scott/archive/2006/05/20/session-state -使用-a-reader-writer-lock.aspx。我有一个 ASP.NET 应用程序,随机结果表明这可能会发生。
如果需要,我会生成一些代码。
更新 19:51 Tim Medora 说:“使用相同会话 ID 的相同浏览器类型的两个实例”。这是否意味着如果用户打开一个浏览器然后关闭它(因为打开时间太长)然后打开另一个浏览器(在另一个窗口中),那么可以使用相同的会话 ID 并复制窗口 1 中的会话变量对于窗口 2?
2012 年 10 月 24 日更新 19:35 Tim Medora 说:“但是,在同一个浏览器中存在两个选项卡的可能性非常大,或者同一浏览器类型的两个实例使用相同的会话 ID”。在这些情况下,会话信息是否会分开。例如,如果用户打开浏览器然后关闭它(在响应加载之前),然后打开具有不同会话变量集的同一个窗口,那么会话 A 和会话 B 具有相同会话变量的风险。