具体会话超时

时间:2014-03-31 07:15:31

标签: c# asp.net

我正在制作一个购物车和那些没有登录的人,我在会话中保存他们选择的产品。他们是否有任何方式可以在特定时间过期特定时间,比如20天之后?

会话["心愿单"]是我在其中存储用户选择产品的会话名称。

2 个答案:

答案 0 :(得分:5)

如果您需要将Session保持这么长时间,那么您可能需要使用cookies。如果用户关闭浏览器,那么您的会话将自动过期,而用户将无法使浏览器保持打开状态。长时间保持会话可能会成为负担而无需服务器。

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

修改

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

答案 1 :(得分:0)

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

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