比如 有a b c d e五个人 同时登陆后台。同时打开了一个页面。假如这个页面执行3个步骤就完成。 现在a 对页面进行了操作。并且已经完成了这三个步骤。。其他几个人都还没有操作页面。他们不知道 a已经修改了这个页面。 现在c用户 去吧功能操作成了第二步。。 本来 a 已经把页面操作到了第三步了。现在又变成了第二步。。这样这样的话 就会造成操作上面的冲突。。请问各位有没有什么好的建议 。。
这是明显的多线程并发问题,解决要用到锁的问题。
先在该页面定义一个全部的静态变量
如:private static object m_opp=new object();
然后再要执行步骤的代码块外面加:
Monitor.Enter(m_opp);
步骤一
步骤二
步骤三
Monitor.Exit(m_opp);
这样就能防止多用户同时操控了,希望对你有帮助。
数据库表里设置一个最后更新时间字段,每次操作提交之前,判断一下 最后修改时间是否相同,如果不相同就提示已经修改,重新获取数据在修改。
楼上的说的对
详细 http://msdn.microsoft.com/zh-cn/library/de0542zz(v=VS.80).aspx