2011-12-12 81 views
0

我們有一個會話變量用於保存用戶所在的國家/地區。這個變量的值有時會發生變化,我們確信在我們的代碼中沒有可以改變這個值的地方,例如有時會顯示美國,有時會顯示法國在同一會話中!我們在不同的機器和不同的網絡上遇到此問題。會話變量不一致

我們嘗試打印會話ID,並注意到會話ID在國家會話更改的同時發生了更改!那是什麼意思?

我們的服務器由Godaddy專用和託管,我們只使用一個工作進程,沒有網絡花園或網絡農場。

有什麼建議嗎?

+0

幫助解決問題使用Response.Write(Session.SessionID)來查看會話ID是否隨國家的變化而變化。 – Mike

+0

是sessionID隨着國家的變化而變化!那是什麼意思? – Cassini

+0

然後出於某種原因,您的會話沒有被存儲。據我所知,ASP應該autobicaly做會話開始,但嘗試添加<%@ ENABLESESSIONSSTATE = True%>到頁面的頂部,看看會話是否保持。 – Mike

回答

0

它只是意味着您的代碼有問題 - 我們看不到,或者會話已過期,並且已爲用戶創建新的代碼。

不同的會話ID與不同的會話國家可以預期。

+0

我們的代碼沒有任何問題,爲了支持這個聲明,我創建了一個空的測試頁面,它用用戶的IP地址設置一個新的會話變量(當它爲空時設置該變量),我們注意到相同的行爲! – Cassini

+0

會話到期時間是什麼?一旦到期,爲用戶的下一個請求生成一個新的。 – Dee

+0

20分鐘。即使已過期,也不應更改用戶IP或國家/地區。 – Cassini