2012-05-24 204 views
1

我有一個asp.net網站和一個類庫作爲項目參考。在類庫中,我公開了一些靜態方法。當用戶登錄到他們的賬戶時,我撥打其中一個靜態方法來加載與用戶相關的信息。我有一些實例,當我作爲用戶A登錄時,我能夠看到與用戶B相關的信息。這是因爲靜態方法嗎?C#公共靜態方法 - 共享用戶之間的信息

回答

8

不,這是因爲靜態變量。這些由整個AppDomain共享 - 在這種情況下,這幾乎意味着「該機器上的整個網站」。

很難知道你應該沒有任何詳細信息,可以做什麼,但我強烈懷疑你只是存儲在靜態變量,這是從來沒有將是正確的方式去用戶信息。

很明顯,你如何管理用戶會話取決於你,毫無疑問已經寫了大量的文本 - 但使用靜態變量會導致你所看到的問題。

0

這可能是,我將不得不看你的代碼是肯定的,信息也存儲爲靜態?那麼它是正確的,因爲靜態在實例之間共享