我在Azure上托管了一个Web应用程序,它通过位于SQL Azure数据库中的名为Message
的表在用户之间共享消息。我的项目包含一个类,用于跟踪名为CurrentUser.cs
的当前用户信息。它包含Username
,RoomID
,JoinTime
等属性。当其他用户登录时,我很难理解这个类会发生什么。我原本以为每个用户都会有他们的自己的CurrentUser
实例,其他人无法访问。这就是我所看到的:
如果UserA
登录,他们可以发布消息,并显示带有用户名的消息。当UserB
登录时,他们也可以使用其用户名发布消息。如果UserA
在UserB
登录后发布消息,则其消息会显示UserB
的用户名。这让我相信UserA
登录时CurrentUser.cs
的{{1}}文件被覆盖。这怎么可能?我想每次有人访问我的网站时,都会存在UserB
的新实例。这不是这种情况吗?我的所有用户是否共享与我目前相同的CurrentUser.cs
课程?
修改
我在CurrentUser
中有一个构造函数,可以在应用加载时设置属性。我从不打电话给CurrentUser
或其他任何东西。我的问题更多的是每个用户是否有自己的CurrentUser user = new CurrentUser()
版本。我的印象是我不必创建CurrentUser.cs
的实例,因为每个访问者都有自己的实例。
CurrentUser
编辑2
我的属性是静态的,但我的课程不是。也许这与它有关?