2014-03-31 128 views
2

我正在製作一個購物車和那些尚未登錄的人,我在會話中保存他們的產品選擇。他們有什麼方法可以在20天之後的特定時間到期嗎?特定會話超時

會話[「願望清單」]是我在其中存儲用戶的選擇產品的會話的名稱。

+2

你的意思是你想在你的服務器上繼續這個會話20天嗎?保持會話很長時間和服務資源無效是不好的做法。 –

+0

那麼我應該在哪裏存儲願望清單?緩存? – Manu

+1

嘗試存儲它在一個餅乾 –

回答

5

如果你必須保持Session很長一段時間,那麼你可能需要使用cookies來代替。如果用戶關閉瀏覽器,那麼你的會話將得到自動過期用戶將不會保持瀏覽器24天開放。長時間保持會話可能是服務器上不需要的負擔。

Response.Cookies["wishlist"].Value = "SomeValue"; 
Response.Cookies["wishlist"].Expires = DateTime.Now.AddDays(24); 

編輯

你可能會存儲在餅乾不是整個車將被用於從如數據庫持久存儲得到購物車的一些唯一標識符。這將允許您稍後分析數據,例如有多少人回來並完成購物等。

+0

+1只是擴大...這並不意味着你必須將整個購物車存儲在cookie中...只是購物車的唯一標識符 – Leo

0

餅乾在任何情況下都是一個好的開始。請注意,你只想爲簡單的數據做這件事,例如。計數和物品ID。他們可以由用戶修改,所以不要在那裏存儲價格:)

如果你需要存儲更多的數據,你可能必須結合餅乾和數據庫。在cookie中存儲一個唯一標識符,並將其與數據庫中的一行相關聯。它更復雜,因爲您需要手動處理到期日期,但它允許您存儲更多信息。