C# 在会话中存储对象时出现会话变量问题

C# 在会话中存储对象时出现会话变量问题,c#,asp.net,C#,Asp.net,我有一个登录页面,在该页面中我验证了我的用户,并根据此验证将他们的用户信息存储在会话变量中,以便我可以随时访问它。为此,我试图存储一个dbml生成的类“UserInfo”的实例。因此,我填充该类,然后将其存储在一个称为“user”的会话变量中 我遇到的问题是,它似乎在用户之间混淆了这些会话变量。或者更具体地说,它似乎总是从为每个后续登录的用户存储的第一个用户变量中获取信息。因此,用户1的信息被拉入用户2、用户3等 我的问题是我的类“UserInfo”是静态的吗?或者是什么导致了这一切?我的Use

我有一个登录页面,在该页面中我验证了我的用户,并根据此验证将他们的用户信息存储在会话变量中,以便我可以随时访问它。为此,我试图存储一个dbml生成的类“UserInfo”的实例。因此,我填充该类,然后将其存储在一个称为“user”的会话变量中

我遇到的问题是,它似乎在用户之间混淆了这些会话变量。或者更具体地说,它似乎总是从为每个后续登录的用户存储的第一个用户变量中获取信息。因此,用户1的信息被拉入用户2、用户3等

我的问题是我的类“UserInfo”是静态的吗?或者是什么导致了这一切?我的UserInfo类如下所示:

public partial class UserInfo
    {
        ...
编辑:
进一步检查后,似乎我的会话变量实际上工作正常,但问题出在我的自定义菜单上。

听起来更像是DAL的问题,而不是会话对象的问题。您是否可以验证每次传递的用户ID是否不同,以及RetrieveUser函数是否使用传递的值而不是静态值?

您是在同一台计算机上使用web客户端还是在单独的计算机上进行测试?例如,默认情况下,即使打开了多个窗口或选项卡,FireFox也将在单个进程中运行。虽然听起来很傻,但我的一位同事在遇到同样的问题时没有注意到这种现象。

是的,我检查了它并确保它正在检索正确的信息并正确创建会话变量。userID实际上只是登录时文本框的值。
public partial class UserInfo
    {
        ...