2011-06-24 23 views
2

我有我的會話狀態布爾變量。當我嘗試獲得這個值時,我可以獲得所有用戶的使用權。當我像另一個沒有初始化會話狀態的用戶登錄時,我獲得了相同的值。會話狀態只使用一個用戶

 bool aa = (bool)Session["playedSRB"]; 

我想這是關係到用戶。

+2

這是關係到用戶。是什麼讓你覺得這不是現在呢? –

+1

您是否嘗試使用單獨的瀏覽器或其他機器登錄?您的登錄/註銷操作可能實際上並未創建新會話。您可以通過登錄'Global.asax'中的'Session_Start'事件來偵察此事。 – rsbarro

+0

我跑我的瀏覽器,啓動我的程序和會話狀態值爲空,然後我設置值爲false,啓動程序,刪除線在這裏我設置值爲false,註銷,登錄像另一個用戶然後我對這個用戶假的,不空值! – gormit

回答

2

我不相信會話狀態的cookie與誰是登錄相關。

ASP.NET_SessionId是會話cookie。

.ASPXAUTH是認證的cookie(登錄)。

+0

我是否需要刪除此ASP.NET_SessionId cookie?我使用http://msdn.microsoft.com/en-us/library/bb383782.aspx函數來註銷。 – gormit

+0

+1:起初我對此猶豫不決,因爲在我的應用程序中它們是相關聯的,所以我一直認爲你一定不在意。我必須去檢查我在我的基礎庫中編寫的原始代碼,但顯然我自己將這些關聯寫入了我的基類。 –

+1

@gormit:在您的註銷例程中,您需要一種方法來清除應與登錄用戶相關的所有會話信息。 –

0

..它可能不是你的問題,但我會建議與真正的測試,而不是 - 轉換爲布爾空值轉換爲假。

+0

同樣的事情,當我設置爲true。 – gormit

+0

不要猜測。 :/ –