【发布时间】:2014-01-16 17:19:42
【问题描述】:
我正在尝试在 Asp.Net Mvc3 中创建一个购物车应用程序。在将用户选择的物品临时存储到购物车时,我很困惑做出正确的决定。在结帐过程之前暂时存储购物车物品的最佳方法是什么。
- 数据库中的临时表?签出项目后删除表格
- 会话?
- 临时数据?
- jQuery 数组?
- 还有其他方法吗?
请提出建议。
【问题讨论】:
-
在我的实践中,我更喜欢 Sessions。它比数据库轻得多。 Sessions 尽可能多地保存用户信息。
-
TempData 保留 HTTP 请求时间的信息。这意味着仅从一页到另一页。所以,TempData 不能用于购物车
-
@simoco - 如果您想在请求之间保留数据,那么会话非常棒。但是,如果您在 .NET 中使用 In-Proc 会话,并且 a) 应用程序池回收或 b) 您有一个负载平衡的服务器集群,您可以预期您的会话会随机消失。
-
如何将购物车数据存储在 cookie 中?这样,即使用户在几天后再次访问您的网站,也可以访问他们的购物车。