这更像是一个查询而不是问题。
我正在尝试通过建立一个带购物车的在线商店来学习C#/ MVC。 到目前为止,购物车完成了基础知识;现在我想让它更先进一点。
如果用户在一段时间内处于非活动状态(未主动使用该网站),我想添加清除购物车的功能。
我的想法是,这需要在服务器端处理,因为用户甚至无法打开浏览器并且篮子类需要发布事件('BasketTimeout')。然后我可以有一个订阅者类,在接收事件时,运行clear basket方法(将篮子ID作为参数)。
我不想在兔子洞里追逐一只兔子,如果有人能指出上述方法中的缺陷/提出更清洁的方法,我将不胜感激。
感谢您提供任何帮助。
答案 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();