2011-10-06 32 views
1

我想將籃子數據保存到會話中,但我發現會話不會持久。當我調試會話時,我意識到SessionID會在請求之間發生變化。.Net SessionID正在改變每個請求

我有以下我的母版頁上:

protected override void OnInit(EventArgs e) { 
    base.OnInit(e); 
    Session["B2C_Session"] = true; 
} 

爲什麼會出現這種情況?是什麼導致了它,我能做些什麼來解決它?我正在使用.net 3.5。

+3

你應該真的提供更多的信息或代碼。默認情況下,ASP.NET應用程序將會話標識存儲在cookie中。如果客戶拒絕該cookie,則會話ID將不會被存儲,因此您將無法將該客戶端綁定到特定會話。 –

+0

在主頁: \t保護覆蓋無效的OnInit(EventArgs的發送) \t { \t \t base.OnInit(E); \t \t Session [「B2C_Session」] = true; \t} – HGMamaci

+0

感謝來自Ek0nomik的提示,我已經檢查並刪除了本地主機的cookies。 然後重新啓動應用程序後,它的工作。本地主機的會話cookie可能互相干擾。前一段時間遇到了這個問題,但忘記了解決方案。 我在這裏寫下自己的回覆以防萬一有人需要它。 – HGMamaci

回答

4

默認情況下,ASP.NET應用程序將會話標識存儲在cookie中。如果客戶拒絕該cookie,則會話ID將不會被存儲,因此您將無法將該客戶端綁定到特定會話。

確保客戶端正在接受cookie,以便可以保持會話。

相關問題