在asp.net中将产品信息存储在购物车中的理想方式
我正在创建一个电子商务应用程序,其中我有一个购物车.我目前的结构是,每当用户保存产品时,我将产品放入数据表并将数据表放入会话,因此在会话未超时之前,用户可以拥有他们保存的列表.然而,我已经将会话超时时间增加到600分钟(10小时),但我担心的是,这是存储购物车信息的最佳方法,因为如果有例如1000个用户同时访问该网站,则会创建1000个会话对象在服务器上,它不会恶化我的网站的性能.我不能将它存储在数据库中,因为如果用户是匿名的,我没有关于用户的独特的东西,这样,如果1000个用户访问该网站,所有产品都会合并,我将无法获取当前用户保存的产品.
有没有其他更好的方法来解决这个问题. 解决方法
你不应该这样实现. 10个小时的会话很长,如果您的网站上有1000个用户,您的服务器将受到影响,并会产生一些性能问题.
在我们的电子商务网站上,我们为匿名用户创建了一个cookie.完成此操作后,您有两个解决方案: >将整个购物篮存放在cookie中(基本上是产品ID数量列表,更多取决于您的需求/策略)或其他技术(例如localStorage). 您可以轻松更改Cookie的过期时间(或删除它),而不会影响服务器的整体性能.对于ID,您可以使用Guid.NewGuid(). 更新: 有关我的第二个解决方案的更多详细信息 >用户访问网站 使用此解决方案,所有内容都保留在数据库中,不需要会话.您可以像更改会话一样更改Cookie的到期时间,或者您可以毫无风险地清理临时表或创建匿名用户的统计信息(为什么他们没有进行结帐,平均有多少项,哪个项目,. ..). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 尽管指定了我自己的视图,ASP.NET MVC3仍然会查找Error.aspx
- asp.net – 我可以在URL中使用逗号吗?
- asp.net-mvc – 如何在MVC4中显示Byte []作为图片
- asp.net-mvc – 如何使用Asp.net MVC验证列表属性是否具有最
- .net – 编辑器模板不适用于DisplayFormat
- asp.net-mvc – 自定义验证属性不在客户端上工作,只在服务器
- asp.net-mvc – jQuery $.get调用Controller中的方法
- asp.net – 类型存在于’A’和’B’
- asp.net – vs2010 – 用双引号括起String的快捷方式
- asp.net – 当Visual Studio 2013打开Web项目时,IISExpress
- asp.net – 为什么在web.config中保存动态数据是
- 仅为匿名用户缓存ASP.NET页面
- stored-procedures – 使用经典的asp从oracle 11
- asp.net-mvc – 使用@ Ajax.ActionLink弹出表单
- asp.net – 如何禁用表单身份验证
- asp.net-mvc-4 – htmlHelper与局部视图
- asp.net-mvc-3 – SignalR依赖注入问题
- asp.net – 使用StartMode =“AlwaysRunning”在
- asp.net – Internet Explorer 11在服务器端的检
- 通过Knockout使用MVVM的asp.net MVC,将模型传递给