ASP.NET中的会话变量混合?

ASP.NET中的会话变量混合?

session variable mixup in ASP.NET?

ASP.NET是否有可能混淆哪个用户与服务器上的哪个会话变量相关联? 会话变量是否一成不变地与在时间,空间和维度上创建它们的原始用户联系在一起?


回答您的原始问题:会话被键入到放置在Cookie中的ID。使用一些随机数加密例程生成此id。它不能保证是唯一的,但是在会话的整个生命周期中都不太可能被复制。即使您的会议运行了整个工作日。一个真正受欢迎的网站可能甚至需要数年才能生成一个重复的密钥(没有任何统计数据或事实来支持该密钥)。

说了这么多,似乎您的问题似乎不是会话值混淆了。我首先要看的是连接池。默认情况下,ADO池连接,但是如果您请求的用户名/密码不在该池中,则它应该为您提供一个新的连接。如果您的站点很大,则提示可能是将来的性能瓶颈。自从我使用SQL Server以来已经有一段时间了,在Oracle中,可以进行一个调用来切换用户的身份。如果SQL Server中没有等效项,我会感到惊讶。您可以尝试使用通用的用户名/密码连接到数据库,然后执行身份切换调用,然后再将连接移交给其余代码。


这取决于您的会话提供程序,如果您已经以不再唯一的方式覆盖了会话密钥生成,则可能有多个用户正在访问同一会话。

您看到什么行为?您确定所讨论的变量没有静态作用吗?


我的猜测是您正在重用类的静态字段来保存连接字符串。这些静态字段可在多个IIS请求中重复使用,因此您可能只会在"上次更新者"中看到最近登录的用户。

顺便说一句,除非您有充分的理由这样做,否则您不应该这样连接数据库。您要防止使用连接池,这会损害高负载下的性能。


您能否弹出调试器,看看是否确实在该连接字符串上传递了正确的值?它将迅速帮助您确定问题所在的哪一方面。

另外,请确保没有任何连接代码具有针对连接或用户的静态属性,或者在更新触发之前,一个用户的连接可能已被最新用户的连接替换。


更多信息:

我有一个应用程序,它从登录页面获取用户ID /密码并将其存储在会话变量中。我将其放入连接字符串中以调用SQL Server。

更新表格后,我们在数据库中使用" system_user"来标识"最后更新者"用户。我们看到了一些奇怪的行为,在这些行为中,我们期望被列出的用户是不正确的,并且正在显示其他人。


这是不可能的。会话与创建者相关。

您是否要混淆,或者您有看起来像混淆的情况?


会话绑定到用户cookie,在正常情况下发生混乱的可能性很小,但是如果使用分布式会话状态,则可能会出现问题。


虽然一切皆有可能。 。 。 。

否,除非您将会话状态存储在sql Server或其他进程外存储中,然后将其弄乱。 。 。


推荐阅读

    linux命令删除用户组?

    linux命令删除用户组?,管理,密码,系统,用户组,用户,概念,命令,文件,管理员,

    纯命令行linux服务器?

    纯命令行linux服务器?,密码,服务,系统,命令,终端,地址,百度,情况,状态,公共,

    重启服务linux命令?

    重启服务linux命令?,网络,系统,服务,设备,工作,标准,名称,工具,命令,管理,Lin

    linux中用户创建命令?

    linux中用户创建命令?,密码,系统,用户,软件,命令,联系方式,管理,信息,用户

    linux注销命令用户?

    linux注销命令用户?,系统,服务,密码,地址,工作,命令,状态,工具,信息,基础,lin

    linux命令行创建用户?

    linux命令行创建用户?,系统,密码,软件,新增,用户,联系方式,管理,用户名,命

    linux系统用户命令?

    linux系统用户命令?,系统,工作,地址,信息,管理,命令,目录,时间,电脑,名称,请

    linux下命令访问服务?

    linux下命令访问服务?,服务,密码,状态,信息,地址,网络,认证,系统,号码,名称,l

    检查linux服务器命令?

    检查linux服务器命令?,系统,信息,状态,情况,时间,工具,网络,环境,服务,电脑,

    linux命令所有用户?

    linux命令所有用户?,系统,密码,信息,情况,名称,命令,用户,时间,地址,位置,如

    linux命令进入用户?

    linux命令进入用户?,系统,密码,用户,地址,信息,软件,命令,用户名,联系方式,

    linux7关闭服务命令?

    linux7关闭服务命令?,系统,软件,服务,命令,电脑,状态,工具,管理,进程,用户,求

    linux命令用户管理?

    linux命令用户管理?,系统,密码,管理,工作,信息,地址,工具,命令,用户,基础,LIn

    linux用户与组的命令?

    linux用户与组的命令?,管理,系统,名称,用户组,密码,用户,命令,情况,信息,单

    linux查空间的命令?

    linux查空间的命令?,系统,情况,信息,单位,管理,地址,命令,分析,实时,工具,lin

    linux添加用户的命令?

    linux添加用户的命令?,密码,系统,软件,联系方式,用户,新增,信息,管理人员,

    linux用户退出的命令?

    linux用户退出的命令?,系统,密码,命令,用户,发行,电脑,第三,地址,软件,信息,l

    linux看系统用户命令?

    linux看系统用户命令?,系统,信息,密码,命令,服务,名称,网络,情况,软件,工具,L

    linux赋权用户命令?

    linux赋权用户命令?,系统,密码,用户,权限,地址,状态,数字,软件,管理,电脑,Lin