带有 cookie 的购物车生命周期
Cart lifecycle with cookie
我有一个使用 Session 的购物车实现,我想迁移到基于 cookie 的购物车。此外,实际上我将完整的购物车存储在会话中,并希望迁移到一个版本,其中只有 cartID 在 cookie 中,而内容在数据库中。
我已经阅读了很多关于 SO 的博客文章甚至问题,但在某些方面仍然有些困惑:
- cookie 生命周期如何?实际上,我在新会话开始时创建了一个新购物车。然后我根据客户操作管理会话(添加到购物车、从购物车中删除、结帐时清除)
- 如何创建唯一的 cookieId
- 处理备份数据库任务的最佳方式是什么?使用 jQuery 还是最好在服务器端处理一切?
例如我正在使用 asp net mvc 和 c#。
我使用 Session 保存了整个购物车。后来,我只将购物车 ID 存储在 cookie 中,将实际商品存储在数据库中。
在我的场景中,我先将商品暂时存储在购物车中。结帐成功后,我将商品从购物车移动到 Order 和 OrderItem 个表格,并删除购物车。
以下是您可以从我的错误中学到的东西。
how is the cookie lifecycle? Actually,I create a new cart when a new
session begins. Then I manage the session based on customer action
(add to cart, remove from cart, clear on checkout)
新会话开始时不创建 cookie。相反,您只想在客户将商品添加到购物车后才在数据库中创建一个条目。然后将 GUID 存储在 cookie 中。
主要原因是如果你过早创建cookie,你最终会得到太多废弃的购物车。
仅供参考:您想安排一个任务在特定时间段后清理废弃的购物车。
how can I create a unique cookieId
创建数据库列 ID uniqueidentifier。创建新的购物车后,将返回的GUID保存在cookie中。
which is the best way to handle the backing to database task? Using
jQuery or it is better to handle everything server side?
您想从服务器端生成 GUID,如上所示。
不要使用带有标识增量的整数。它最终会带来很大的安全漏洞,因为您可以轻松预测数字。
我有一个使用 Session 的购物车实现,我想迁移到基于 cookie 的购物车。此外,实际上我将完整的购物车存储在会话中,并希望迁移到一个版本,其中只有 cartID 在 cookie 中,而内容在数据库中。
我已经阅读了很多关于 SO 的博客文章甚至问题,但在某些方面仍然有些困惑:
- cookie 生命周期如何?实际上,我在新会话开始时创建了一个新购物车。然后我根据客户操作管理会话(添加到购物车、从购物车中删除、结帐时清除)
- 如何创建唯一的 cookieId
- 处理备份数据库任务的最佳方式是什么?使用 jQuery 还是最好在服务器端处理一切?
例如我正在使用 asp net mvc 和 c#。
我使用 Session 保存了整个购物车。后来,我只将购物车 ID 存储在 cookie 中,将实际商品存储在数据库中。
在我的场景中,我先将商品暂时存储在购物车中。结帐成功后,我将商品从购物车移动到 Order 和 OrderItem 个表格,并删除购物车。
以下是您可以从我的错误中学到的东西。
how is the cookie lifecycle? Actually,I create a new cart when a new session begins. Then I manage the session based on customer action (add to cart, remove from cart, clear on checkout)
新会话开始时不创建 cookie。相反,您只想在客户将商品添加到购物车后才在数据库中创建一个条目。然后将 GUID 存储在 cookie 中。
主要原因是如果你过早创建cookie,你最终会得到太多废弃的购物车。
仅供参考:您想安排一个任务在特定时间段后清理废弃的购物车。
how can I create a unique cookieId
创建数据库列 ID uniqueidentifier。创建新的购物车后,将返回的GUID保存在cookie中。
which is the best way to handle the backing to database task? Using jQuery or it is better to handle everything server side?
您想从服务器端生成 GUID,如上所示。
不要使用带有标识增量的整数。它最终会带来很大的安全漏洞,因为您可以轻松预测数字。