如何为每个用户会话保留不同的购物车时间

时间:2012-02-25 20:21:51

标签: c# asp.net session

我们正在开发购物车应用程序。 对于每个单独的用户会话,我必须在将第一个产品添加到购物车以进入结账流程后20分钟给用户。如果用户添加了另一个产品,我必须重置时钟并从头开始20分钟。如果用户在20分钟内没有做任何事情,我必须结束会话。如果用户进入结账流程,将开始另一个结账流程时钟。这将是15分钟。但如果他取消了结账流程并回到商店,那么第一个时钟必须从它离开的地方开始..

希望我很清楚。

我可以用什么方法?我会使用线程,会话vs ..?

非常感谢。

2 个答案:

答案 0 :(得分:0)

您可能希望使用会话状态。每次用户执行操作时,您都可以在会话中设置时间戳 - 例如,添加项目等。在打开任何页面之前,您将检查时间并查看是否

(DateTime.Now - Session[LastAccessTime]) > new TimeSpan(0, 20, 0)

如果它更大,则显示一条消息,说明时间已过,否则继续。

在购物页面上,您可以在结帐页面检查20分钟,检查15分钟。

也请查看此答案:Session time out with Timer

答案 1 :(得分:0)

你会明确地使用Shiroy所提到的会话 - 不过我认为你可以简单地使用Session.Timeout属性,在你进入网站的不同区域时适当地设置它。