ASP.NET有可能混淆哪个用户与服务器上的哪个会话变量相关联吗?会话变量是否与创建它们的原始用户跨越时间、空间和维度不可变地捆绑在一起?
发布于 2008-09-18 13:35:55
回答你最初的问题:会话与一个放在cookie中的id相关联。此id是使用一些随机数加密例程生成的。不能保证它是唯一的,但它在会话的生命周期中被复制的可能性很小。即使您的会话运行了整个工作日。一个真正受欢迎的网站可能需要数年时间才能生成一个重复的密钥(没有统计数据或事实来支持)。
话虽如此,看起来你的问题并不是会话值的混淆。我要开始考虑的第一件事是连接池。默认情况下,ADO池连接,但如果您使用不在池中的用户名/密码请求连接,它将为您提供一个新连接。提示如果您的站点非常大,将来可能会成为性能瓶颈。自从我使用SQL Server以来,已经有一段时间了,在Oracle中,可以进行一个调用来切换用户的身份。如果在SQL Server中没有类似的东西,我会很惊讶。您可以尝试使用通用用户名/密码连接到数据库,然后在返回到其余代码的连接之前执行身份切换调用。
发布于 2008-09-18 12:29:44
这取决于您的会话提供商,如果您以不再唯一的方式覆盖了会话密钥生成,则多个用户可能正在访问同一会话。
你看到了什么行为?你确定你正在讨论的变量中没有静态因素吗?
发布于 2008-09-18 12:29:20
当一切皆有可能时。。。。
否,除非您将会话状态存储在sql server或其他进程外存储中,然后对其进行处理。。。
https://stackoverflow.com/questions/92052
复制相似问题