2012-05-24 158 views
1

我有一个asp.net网站和一个类库作为项目参考。在类库中,我公开了一些静态方法。当用户登录到他们的账户时,我拨打其中一个静态方法来加载与用户相关的信息。我有一些实例,当我作为用户A登录时,我能够看到与用户B相关的信息。这是因为静态方法吗?C#公共静态方法 - 共享用户之间的信息

回答

8

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

很难知道你应该没有任何详细信息,可以做什么,但我强烈怀疑你只是存储在静态变量,这是从来没有将是正确的方式去用户信息。

很明显,你如何管理用户会话取决于你,毫无疑问已经写了大量的文本 - 但使用静态变量会导致你所看到的问题。

0

这可能是,我将不得不看你的代码是肯定的,信息也存储为静态?那么它是正确的,因为静态在实例之间共享