| 网站首页 | 新闻中心 | 系统安全 | 网络安全 | 安全技术 | 下载中心 | 安全365社区 |
安全365
收藏本站
设为首页
会员登录:
站内搜索: 新闻中心 系统安全 网络安全 安全技术 下载中心
| 网络安全首页 | 信道安全 | 设备安全 | 协议安全 | Web安全 |
购物车中数据的存放方式
购物车中数据的存放方式
作者:未知 文章来源:酷网动力 点击数: 更新时间:2007-9-17 1:37:56
第一次做BToC站点的购物车,总结了一下购物车中数据的存放方式
  
  方式1:用会话
  
  
  
  会话中可以存放任何类型数据,每个用户有一个唯一的会话ID,用此ID区分不同用户的购物车
  会话数据是存放在WEB服务器的内存中的,如果使用购物车的用户比较多的话,这样一来将占用大量服务器资源
  会话有一小缺陷,它是依靠COOKIE来与用户通讯的,一旦用户关闭COOKIE,使用会话将比较麻烦
  
  当然在ASP。NET中还有另2种方式保存会话数据
  一种是指定另一台服务器来存放会话数据,这样一来可以有效分担WEB服务器的运行开销。
  另一种是把会话数据存放在MS SQL中,MS SQL是利用局部临时表实现的,会话数据放在局部临时表中,MS SQL为每一个局部临时表也分配一个唯一的ID
  
  ,我想是用此ID区分不同用户的不同会话数据的。但是我不推荐使用此方法,频繁在数据库里面建立和删除临时表对数据库的开销太大
  
  
  
  方式2:在数据库里面用表(ShopingCart)
  
  我喜欢的实现方式
  
  表有几个基本字段
  CartId 购物车ID(唯一)
  Id 商品的ID(唯一)
  Qty 用户购买商品的数量
  CreateDate 购物车创建时间
  
  此表的字段CartId是区分不同用户的购物车的ID,要是登陆用户,你可以在表中存放此登陆用户的登陆名的ID,要是未登陆用户使用购物车,
  
  你可以给他分配一个GUID(全球唯一标志)做购物车ID
  
  此方法有也有一些缺陷,一是它会造成大量无效数据,大家都知道,使用购物车的人,不一定会最终结帐购买商品。但是使用购物车就得
  
  往表(ShopingCart)里面插入相关数据,未登陆用户一离开站点,他在表中的数据就成了一堆废数据,因为他在下次登陆时,我们分配给他的
  
  是一个新的CartId购物车ID.有废数据我们就得时常来维护此表,我们可以写一个清除废数据的过程(利用字段CreateDate和CartId可以判断无效数据),人工调用运行也可以,要是想由MS SQL代我们来运行,就可以设置一个JOB,由JOB自动调用过程清楚废数据
  
  
  
  说拉缺陷,我们该说说此方式的优点拉
  1。占用系统资源少,我们可以把数据库安置在一台电脑中,WEB服务器安置在另一电脑中,系统资源充分发挥
  2。购物车中数据可以得到有效保留,我们可以试想一客户在购物时,突然某其他原因(死机等原因)离开了购物站,他在购物车中数据有效保
  
  留下来,他下次登陆时购物车中还有上次保留的数据,避免用户再次选购商品的操作(此功能只对登陆用户的购物车有效) ,要是用会话实现
  
  购物车,所有用户一旦离开站点,他的购物车中数据全部失效
  
  好拉,我就总结了这些,由于刚刚接触ASP。NET,对许多方面还认识不多,可能还有其他一些方法实现购物车,希望大家能够给与指点,谢谢大家
文章录入:郝丽    责任编辑:郝丽 
  • 上一篇文章:

  • 下一篇文章: 没有了
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
     
     
     
    路由器基础配置及数据传
    SquirrelMail compose.p
    数据包“嗅探器”和协议
    DLSw:数据链路交换协议
    SDLC:同步数据链路控制
    NDMP:网络数据管理协议
    LAPF:数据链路层帧方式
    PHP数据库安全之SQL 注入
    数据加密之PHP安全编程之
    PHP数据库安全之SQL注入
    站长邮箱:webmaster@anquan365.com
    联系电话:86-10-67634029 点击这里给我发消息

    Copyright © 2006-2008 www.anquan365.com 北京华安普特网络科技有限公司 版权所有