特定会话超时

本文关键字:超时 会话 | 更新日期: 2023-09-27 17:55:07

我正在制作购物车,那些尚未登录的人正在将他们选择的产品保存在会话中。他们是否有任何方法可以在特定时间(例如 20 天后或其他时间)使特定会话过期?

会话

["愿望清单"]是我存储用户选择产品的会话的名称。

特定会话超时

如果您必须将Session保留这么长时间,那么您可能需要改用cookie。如果用户关闭浏览器,那么您的会话将自动过期并且用户不会在 24 天内保持浏览器打开状态。长时间保持会话可能会造成负担,而无需服务器。

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

编辑

您可能会在cookie中存储一些唯一标识符,而不是用于从数据库等持久存储中获取购物车的整个购物车。这将允许您稍后分析数据,例如有多少人回来并完成购物等。

在任何情况下,Cookie 都是一个好的开始。请注意,您只想对简单数据执行此操作,例如。计数和项 ID。用户可以修改它们,因此不要在那里存储价格:)

如果您需要存储更多数据,则可能需要将 Cookie 与数据库结合使用。在 Cookie 中存储唯一标识符,并将其与数据库中的行相关联。它更复杂,因为您需要手动处理过期,但它允许您存储更多信息。