清理旧购物车

时间:2014-05-18 05:19:41

标签: asp.net webforms e-commerce shopping-cart

我目前正在开展的项目是asp.net 2.0电子商务网站。购物车是基于会话的,所以它在30分钟左右后到期。我已经对它进行了转换,以便将购物车存储在数据库中,但我留下了清理旧购物车的问题。清理数据库中购物车表的最佳方法是什么?我打算在管理部分创建一个页面,所有者可以单击该页面以清理超过一周的购物车。有没有更好的方法来解决这个问题?

2 个答案:

答案 0 :(得分:1)

如果人们放弃购物车,他们就不再感兴趣了。

对此的简单解决方案是为用户提供选项" Save Cart" (对DB)。假设您有一个工作会员系统,其中设置了个人资料,他们可以在下次登录时轻松查看他们的购物车。

正如Makit所说,如果你在Express之上运行SQL Server,你可以使用预定的存储过程。您还可以使用其他选项来清除旧计划,例如Windows计划任务,或者从Global.asax文件中的start方法运行存储过程。

这是我遇到的最佳建议:您根本不应删除此数据。像亚马逊一样,一个人可能会在几个月后返回并从购物车中购买东西:

http://brockallen.com/2012/04/07/think-twice-about-using-session-state/

结论?让用户选择自己保存购物车内容。更好的商业模式。

答案 1 :(得分:1)

我知道,由于资源有限,您无法无限期地存放旧车。

因此,这是一个有两个选项的建议。

1。创建一个存储过程以删除旧购物车 - 让业主确定旧购物车的使用期限,否则1个月可能是合理的。

2。
选项a) 使用SQL Server Agent在每天或每周运行存储过程:

  

SQL Server代理是执行的Microsoft Windows服务   计划的管理任务,在SQL Server中称为作业。

选项b) 如果您使用的是SQL Express,那么您将无法拥有SQL Server代理,因此请创建一个执行上述存储过程的.sql文件和一个使用batch file来运行SQL的SqlCmd

  

批处理文件包含一系列命令,通常是   用于自动执行频繁执行的任务。

然后创建一个Windows Scheduled Task以每天或每周运行批处理文件。