Sandy8606

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

      最近手里分到一个bug,很是怪异。客户说预定的内容与最后提交的数据库的信息不一致。 而且这种情况发生的概率很小,运行了N多年才发生了3起这样的事件,也都是最近发生的。检查了下代码,最近并没有什么更新。

客户提交的信息是保存在session中,而且有两个页面会对这个session进行赋值。

     本人对各种浏览器进行了测试,并没有发现问题(毕竟概率太小了)。后来还是同事建议,在同一个浏览器中再开一个Tab,分别打开这两个能修改session的页面,暂且叫做PageA 和PageB吧。奇迹发生了:对PageA进行操作给session赋一个值,在PageB也给session赋另一个值,结果在PageA查看session,发现已经变成PageB赋的值。如此这般操作下去,发现的确会出现数据不一致的问题。

    个人感悟:不要在一个程序中多个地方队session进行修改(读取没问题),在提交到数据库的时候,一定要检测数据的一致性。

posted on 2010-08-17 09:37  Sandy8606  阅读(310)  评论(3编辑  收藏  举报