gpt4 book ai didi

asp.net - ASP.NET 或 SQL Server 2008 中的并发更新处理

转载 作者:行者123 更新时间:2023-12-03 01:56:00 25 4
gpt4 key购买 nike

有一个名为 Accounts 的表,如下所示:

AccountID   AccountName   AccountTotalMoney
-------------------------------------------
1 Steven 600
3 Scott 800

但是用户可以同时更新行记录,如下所示:

User A:UPDATE Accounts SET AccountTotalMoney=700 WHERE AccountID=1;
User B:UPDATE Accounts SET AccountTotalMoney=900 WHERE AccountID=1;
User C:UPDATE Accounts SET AccountTotalMoney=1000 WHERE AccountID=1;
.
.
.

所以我想阻止多个用户同时更新同一条记录。就一个接一个。

我是这方面的新手。对不起,我的英语不好。提前致谢!

最佳答案

有很多可能性。

[意见:我认为大多数 Web 应用程序都会进行乐观并发处理]:

关于乐观并发处理的一个很好的教程可以在这里找到: http://msdn.microsoft.com/en-us/library/bb404102.aspx

小摘要:

类似地,当两个用户访问一个页面时,一个用户可能正在更新一条记录,而另一用户删除了该记录。或者,在用户加载页面和单击“删除”按钮之间,其他用户可能已修改该记录的内容。

共有三种可用的并发控制策略:

  • 不执行任何操作 - 如果并发用户正在修改同一记录,则让最后一次提交获胜(默认行为)。•
  • 乐观并发——假设虽然时不时会出现并发冲突,但绝大多数时候不会出现此类冲突;因此,如果确实发生冲突,只需通知用户他们的更改无法保存,因为另一个用户已修改了相同的数据。
  • 悲观并发 - 假设并发冲突很常见,并且用户不会容忍因为其他用户的并发事件而被告知他们的更改未保存;因此,当一个用户开始更新记录时,将其锁定,从而防止任何其他用户编辑或删除该记录,直到该用户提交修改。

关于asp.net - ASP.NET 或 SQL Server 2008 中的并发更新处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13432489/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com