2013-07-25 17 views
3

原諒我,如果這是一個愚蠢的問題我是來自嚴格的桌面背景的asp新手。我有一個用戶問題,如何覆蓋我的Web表單上的ASP.NET應用程序的前一個用戶的會話。我創建了一個小型手機網絡應用程序,以允許在這裏工作的3個人能夠在他們的智能手機上進出,但如果用戶A打入並且用戶B在之後立即打出,則用戶A將看到用戶B的拳打如果他們刷新他們的電話。此外,如果用戶A決定衝出來,他實際上最終會衝出用戶B.我聽說用戶狀態這個術語被拋出,但我認爲asp.net自動處理?在我看來,服務器一次只運行一個會話。我如何爲我的用戶保持獨特的會話運行?用戶在我的asp.net應用程序上覆蓋了彼此的會話

+6

聽起來像你可能有靜態字段... –

+1

我這樣做。我將當前登錄的用戶保存在靜態屬性中以便於訪問。 – Adrian

+4

您是否知道整個AppDomain有*一個*靜態字段?如果你有多個用戶,他們都會在同一個領域踐踏。沒有像網站上的「當前登錄的用戶」這樣的概念 - 總是可以有多個用戶。 –

回答

7

我的印象是,對於每個訪問過它的用戶,服務器都會運行不同的「會話」或「應用程序域」或「實例」。

不,事實並非如此。 ASP.NET確實支持會話,但不是那樣。您應該看看HttpContext.Session,這有助於您跟蹤基於會話的狀態。更多信息請參見"ASP.NET Session State Overview"

+0

謝謝!剛剛讓我的應用程序正常工作。這比我想象的要容易得多。 – Adrian