2012-04-24 93 views
1

任何人都可以告訴我這裏發生了什麼嗎?我正在購買購物車網站上的2個不同的瀏覽器中獲取重複的會話ID?ASP.Net購物車 - 重複會話ID

我竟然產生一個新的會話ID與超過300個字符的隨機字符串消失了,他們仍然得到複製

這是新的代碼......剛取出的SyncLock東西的舊代碼:

Dim _key As String = String.Empty 
    SyncLock _locker 
     _key = Guid.NewGuid().ToString() 
     Session("Identifier") = Validations.GeneratePassword(150, 300) 
     Session("SessionID") = _key 
     Session("SiteID") = "F2630237-E355-4C8A-947E-BBAC97ECA550" 
     Session("HomePage") = 13 
    End SyncLock 

是的,我知道會議(「會話ID」)是不是會話ID,但是,我們習慣使用Session.SessionID的「標識符」,它是越來越重複

+0

你產生自己的會話?你能發佈生成會話的代碼嗎? – Steven 2012-04-24 14:08:20

+0

你需要發佈一些代碼,以便我們可以看到你的代碼在做什麼!會話ID如何存儲? – Tim 2012-04-24 14:09:04

+0

用於使用內置的Session.SessionID,但是,它發生在 – Kevin 2012-04-24 14:24:55

回答

0

我找到了解決這個。

假如我在web.config中的會話管理器是我的課,和它的工作

<sessionState mode="InProc" cookieless="false" timeout="20" sessionIDManagerType="o7th.Projects.Core.SessionManager"/> 
2

爲什麼你會生成你自己的SessionID
ASP.NET和瀏覽器做出來的箱子,可能是你最好還是一

我建議你用這個來代替:

HttpSessionState.SessionID

+0

我們用於使用Session.SessionID作爲「購物車」的標識符。但是我們開始在機器上獲得重複數據,所以我們隨機生成一個隨機長度,隨機字母數字字符串,並且它仍然發生 – Kevin 2012-04-24 14:26:00

+0

我已經搜索過這個問題,而且看起來我所看到的是,我不是隻有一個... – Kevin 2012-04-24 14:28:47

+0

隨機不一定是唯一的。 – jrummell 2012-04-24 14:29:55

1

我寧願做一個不同的方法

我創建了一個表,身份,每當時間需要一個會話ID,插入由並將其存儲在會話變量

我想隨機生成不能被信任