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



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

我正在尝试通过构建带有购物车的在线商店来学习 C#/MVC。到目前为止,购物车做基本工作;现在我想让它更高级一点。

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

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

我不想把兔子追到兔子洞里,所以如果有人能指出上述方法的缺陷/建议一种更干净的方法,我将不胜感激。

提前感谢您的任何帮助。

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

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

最新更新