2011-07-17 58 views
0

我设计了一个购物车,允许登录和非登录用户在其中放置东西。问题在于非登录用户,当他们将商品添加到购物车中时,它将被存储在浏览器Cookie以及我的数据库中,并以cookie名称作为ID,下次他们再次以非网站的身份浏览网站时,登录用户,我的程序会搜索&匹配项,如果用户端的cookie被找到,那么购物车将被退回。ASP.net购物车困境

现在,如果用户说添加20个项目并立即删除它们的cookie,那会在我的数据库中留下一个“无人值守”的购物车。我认为没有办法做到这一点,如果在客户端删除cookie,我希望这些“无人值守”的购物车也被删除。我曾经想过,在登录用户之前,他们不会为非登录用户提交数量,他们会将匿名用户的帐户迁移到他们自己的帐户中,但这会对登录用户造成偏见,而且我想要的最后一件事是他们在3天后回来并找到所有项目都缺货。

有什么建议吗?谢谢。

回答

3

您可以安排定期运行的数据库上的作业,并删除所有超过1周的匿名购物车。

+0

谢谢我想这是一个很好的方法。 – k80sg

0

在Global.asax中删除“无人值守”的特别会议的数据库上的session_start事件推车

因为当浏览器

,并在新的会话启动时没有发现的cookie或会话的session_start事件。