ASP.NET+SQL Server+Session+购物车

Example1113 2009-06-06 10:33:49
登陆顾客选择了物品以后,选择的信息保存在session中,并且数据库中有一个记录被改了。
现在有三种情况:
1、顾客付钱了,已经解决了。
2、顾客没有付钱,但选择了登出,可以解决。用Session_End把数据库的那个记录给改回来。
3、顾客没有付钱,但关闭所有本站所有网页,怎么怎么把那个记录改回来呢?

我就17分了,大哥大姐帮帮忙忙啊~~~马上要验收了!!!谢谢……
...全文
70 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
aptech2007 2009-06-07
  • 打赏
  • 举报
回复
可以用到Glo什么的,蓝色齿轮里面
有个Application里面处理啊
outou 2009-06-07
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 wuyq11 的回复:]
记录用户日志,判断最后操作时间是否已超过规定时间。如是用户就是退出
[/Quote]
支持
Example1113 2009-06-07
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 plglenn 的回复:]
用Application_End() 数据库的那个记录给改回来
清空session


[/Quote]
这个方法要在服务器关闭的时候调用的。
Example1113 2009-06-07
  • 打赏
  • 举报
回复
这个方法要在服务器关闭的时候调用的。
Example1113 2009-06-07
  • 打赏
  • 举报
回复
在没确定前写入数据库确实不好,但这个也是没有办法。因为用户A选了这个物品后,要保证这个物品不能给用户B选择,这个并不是一般的购物系统。如果不把预定信息存入数据库,就无法判断别的用户能不能选择这个物品。

现在我有了解决方法:物品分为三个状态:ABC A:表示物品既没有预定,也没有被买掉。B表示物品被买走了 。C表示物品被预定了,但对方没有付钱。在同一个表里再设置一个时间。通过时间判断,如果物品被别人预定了没有付钱,在一定时间范围里物品对第三方来说不可预定;如果超过了这个时间范围,则第三方就可以预定了。

还有一种解决方法,在数据库定时触发一条语句。但这个问题有个局限:如果对于刚才讲的时间范围比较短的情况下,则数据库的定时触发语句执行时间就要求较短,但这样数据库压力太大。

所以我选了第一种,现在看来是可行的!~
mengxj85 2009-06-07
  • 打赏
  • 举报
回复
cookie保护选择的信息,这样关闭所有窗口就没有影响了,下次进来的时候还见到所选的值
webdiyer 2009-06-07
  • 打赏
  • 举报
回复
第二个问题应该用Session.Abandon();抛弃Session,第三个问题才应该在Session_End事件中处理吧.
wuyq11 2009-06-07
  • 打赏
  • 举报
回复
记录用户日志,判断最后操作时间是否已超过规定时间。如是用户就是退出
qq196260188 2009-06-07
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 plglenn 的回复:]
用Application_End() 数据库的那个记录给改回来
清空session


[/Quote]

如果客户是突然没电等等的非法退出呢???
plglenn 2009-06-07
  • 打赏
  • 举报
回复
用Application_End() 数据库的那个记录给改回来
清空session


skyyuliang 2009-06-06
  • 打赏
  • 举报
回复
我记得session有保存的最大时间吧,超过时间就改过来就是了
bieqing 2009-06-06
  • 打赏
  • 举报
回复
用Application_End() 数据库的那个记录给改回来
清空session


qq196260188 2009-06-06
  • 打赏
  • 举报
回复
楼主的购物流程不正确,,,
你这种想法是没法实现的...
再想想吧,,如果客户是突然没电等等的非法退出呢!
如果你可以实现这个功能的话,,估计,,,大家之前所讨论的,,,"单点登陆" 问题都早被解决了


下一些购物系统来看一下吧,,看一下人定是怎么实现购物的啊
zhouyongli41 2009-06-06
  • 打赏
  • 举报
回复
你不可以这样吗,只有成功了才修改记录

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧