为了账号安全,请及时绑定邮箱和手机立即绑定

asp.net 如何防止多人同时操作一个功能。

asp.net 如何防止多人同时操作一个功能。

眼眸繁星 2018-08-16 10:06:03
比如 有a b c d e五个人 同时登陆后台。同时打开了一个页面。假如这个页面执行3个步骤就完成。 现在a 对页面进行了操作。并且已经完成了这三个步骤。。其他几个人都还没有操作页面。他们不知道 a已经修改了这个页面。 现在c用户 去吧功能操作成了第二步。。  本来 a 已经把页面操作到了第三步了。现在又变成了第二步。。这样这样的话 就会造成操作上面的冲突。。请问各位有没有什么好的建议 。。
查看完整描述

2 回答

?
翻翻过去那场雪

TA贡献2065条经验 获得超13个赞

这是明显的多线程并发问题,解决要用到锁的问题。

先在该页面定义一个全部的静态变量

如:private static object m_opp=new object();

然后再要执行步骤的代码块外面加:

Monitor.Enter(m_opp);

步骤一

步骤二

步骤三

Monitor.Exit(m_opp);

这样就能防止多用户同时操控了,希望对你有帮助。


查看完整回答
反对 回复 2018-08-20
?
达令说

TA贡献1821条经验 获得超6个赞

数据库表里设置一个最后更新时间字段,每次操作提交之前,判断一下 最后修改时间是否相同,如果不相同就提示已经修改,重新获取数据在修改。

查看完整回答
反对 回复 2018-08-20
  • 2 回答
  • 0 关注
  • 698 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信