我正在制作一个购物车和那些没有登录的人,我在会话中保存他们选择的产品。他们是否有任何方式可以在特定时间过期特定时间,比如20天之后?
会话["心愿单"]是我在其中存储用户选择产品的会话名称。
答案 0 :(得分:5)
如果您需要将Session
保持这么长时间,那么您可能需要使用cookies。如果用户关闭浏览器,那么您的会话将自动过期,而用户将无法使浏览器保持打开状态。长时间保持会话可能会成为负担而无需服务器。
Response.Cookies["wishlist"].Value = "SomeValue";
Response.Cookies["wishlist"].Expires = DateTime.Now.AddDays(24);
修改强>
您可能会在 cookie 中存储一些唯一标识符,而不是整个购物车,用于从数据库等持久存储中获取购物车。这将允许您稍后分析数据,例如有多少人回来并完成购物等。
答案 1 :(得分:0)
任何情况下,Cookies都是一个良好的开端。请注意,您只想对简单数据执行此操作,例如。计数和项目ID。它们可以由用户修改,因此不要在那里存储价格:)
如果您需要存储更多数据,则可能需要将Cookie与数据库结合使用。在cookie中存储唯一标识符,并将其与数据库中的行相关联。它更复杂,因为您需要手动处理过期,但它允许您存储更多信息。