在用户不活动的设定时间之后清除购物篮

时间:2015-01-08 14:47:08

标签: c# asp.net-mvc-4

这更像是一个查询而不是问题。

我正在尝试通过建立一个带购物车的在线商店来学习C#/ MVC。 到目前为止,购物车完成了基础知识;现在我想让它更先进一点。

如果用户在一段时间内处于非活动状态(未主动使用该网站),我想添加清除购物车的功能。

我的想法是,这需要在服务器端处理,因为用户甚至无法打开浏览器并且篮子类需要发布事件('BasketTimeout')。然后我可以有一个订阅者类,在接收事件时,运行clear basket方法(将篮子ID作为参数)。

我不想在兔子洞里追逐一只兔子,如果有人能指出上述方法中的缺陷/提出更清洁的方法,我将不胜感激。

感谢您提供任何帮助。

1 个答案:

答案 0 :(得分:0)

无论您在哪里存储购物车内容,都可以在此处存储类似basket.lastActivity = now();当然,检查,如果最后一次活动超过了basket.lifeTime:

//this should be run on every user activity
if(basket.lastActivity + basket.lifeTime < now())
{
 basket.clear();
}
lastActivity = now();