asp.net – 在会话中存储购物车

我知道对购物车项目等信息的一般共识是将它们存储在会话中.但是属于可以被其他用户更改的用户的对象呢?比方说,像一个类似eBay的网站.如果您在会话中存储用户的“项目”,其中包含当前的出价金额,而另一个用户进入并对该项目进行出价,则您必须同时更新数据库中的项目以及会话中的项目,不是吗?

在这种情况下,只有当其他用户采取的任何操作影响一个人的会话值或将所有内容存储在数据库中并且每次都检索它时,才会存储会话和刷新的唯一选项(例如,如果您显示出价,可能会变得昂贵在每页的侧面板上).

解决方法

我会将它全部存储在数据库中并每次检索它.根据数据的易变性,几秒钟的缓存可能是有序的.最大的问题是保持两者一致.

我认为每次检索数据并不像您想象的那么昂贵.如果您基于密钥查找数据库,则数据库非常有效.我在简单性(存储在DB和检索)方面是错误的,直到性能问题出现在负载下(即在负载测试中).

如果只有少数几次,您可以使用应用程序缓存(除非您有多个工作进程/服务器)并确保数据库和缓存保持同步.

相关文章

这篇文章主要讲解了“WPF如何实现带筛选功能的DataGrid”,文...
本篇内容介绍了“基于WPF如何实现3D画廊动画效果”的有关知识...
Some samples are below for ASP.Net web form controls:(fr...
问题描述: 对于未定义为 System.String 的列,唯一有效的值...
最近用到了CalendarExtender,结果不知道为什么发生了错位,...
ASP.NET 2.0 page lifecyle ASP.NET 2.0 event sequence cha...