1

我有一个 asp.net 网站和一个类库作为项目参考。在类库中,我有公共类几个静态方法。当用户登录他们的帐户时,我会调用其中一种静态方法来加载与用户相关的信息。我有一些例子,当我以用户 A 身份登录时,我能够看到与用户 B 相关的信息。这是因为静态方法吗?

4

2 回答 2

8

不,这是因为静态变量。这些是由整体共享的AppDomain——在这种情况下,这几乎意味着“那台机器上的整个网站”。

如果没有更多信息,很难确切知道您应该做什么,但我强烈怀疑您只是将用户信息存储在静态变量中,这永远不会是正确的方法。

管理用户会话的方式完全取决于您,毫无疑问,已经为此编写了大量文本 - 但使用静态变量将导致您所看到的问题。

于 2012-05-24T19:44:58.883 回答
0

那可能是,我必须查看您的代码才能确定,信息是否也存储为静态数据?那么它是正确的,因为静态是在实例之间共享的

于 2012-05-24T19:51:22.707 回答