我们正在开发购物车应用程序。 对于每个单独的用户会话,我必须在将第一个产品添加到购物车以进入结账流程后20分钟给用户。如果用户添加了另一个产品,我必须重置时钟并从头开始20分钟。如果用户在20分钟内没有做任何事情,我必须结束会话。如果用户进入结账流程,将开始另一个结账流程时钟。这将是15分钟。但如果他取消了结账流程并回到商店,那么第一个时钟必须从它离开的地方开始..
希望我很清楚。
我可以用什么方法?我会使用线程,会话vs ..?
非常感谢。
答案 0 :(得分:0)
您可能希望使用会话状态。每次用户执行操作时,您都可以在会话中设置时间戳 - 例如,添加项目等。在打开任何页面之前,您将检查时间并查看是否
(DateTime.Now - Session[LastAccessTime]) > new TimeSpan(0, 20, 0)
如果它更大,则显示一条消息,说明时间已过,否则继续。
在购物页面上,您可以在结帐页面检查20分钟,检查15分钟。
也请查看此答案:Session time out with Timer
答案 1 :(得分:0)
你会明确地使用Shiroy所提到的会话 - 不过我认为你可以简单地使用Session.Timeout
属性,在你进入网站的不同区域时适当地设置它。