ASP.NET或SQL Server 2008中的并发更新处理
有一个名为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应用程序都做乐观的并发处理]: 这里有一个关于乐观并发处理的好教程: 小摘要: 类似地,当两个用户访问页面时,一个用户可能正在更新记录时被另一个用户删除.或者,在用户加载页面和单击“删除”按钮之间,另一个用户可能已修改该记录的内容. 有三种并发控制策略可用: >什么都不做 – 如果并发用户正在修改相同的记录,请让最后一次提交获胜(默认行为).?>乐观并发 – 假设虽然偶尔会出现并发冲突,但绝大多数时候这种冲突都不会出现;因此,如果确实发生冲突,只需通知用户他们的更改无法保存,因为另一个用户已修改了相同的数据.>悲观并发 – 假设并发冲突是司空见惯的,并且用户不会容忍因为另一个用户的并发活动而被告知他们的更改未被保存;因此,当一个用户开始更新记录时,将其锁定,从而阻止任何其他用户编辑或删除该记录,直到用户提交修改为止. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 将ASP.Net MVC开发和ASP.net Web表单开发混合在同一组产品中
- asp.net-mvc – 如何在共享托管环境中实现ASP.Net MVC网站的
- 如何将文件从ASP.NET上载到另一个Web应用程序
- asp.net – 为什么javascript onchange事件不触发如果自动完
- asp.net – SQL Server查询从ADO.NET运行速度比SSMS慢
- .NET Core多平台开发体验[2]: Mac OS X
- asp.net – 带标题的Response.Redirect
- asp.net-core – 带有ASP.NET身份3的JWT承载令牌
- 你如何正确使用UpdatePanel? (asp.net)
- asp.net – 如何增加我的存储过程调用的超时时间(见错误)?
- asp.net-mvc – 授权属性不工作MVC 5
- asp.net-mvc-3 – IIS中缺少UrlRoutingModule
- asp.net – 在web.config中指定相对路径
- asp.net-mvc – Donut hole缓存 – 排除MiniProf
- asp.net-mvc-3 – 添加属性以选择列表选项
- ASP.Net:货币表达式的评估格式
- asp.net-mvc – EditorFor忽略tabindex.你如何设
- ASP.NET:编译器失败,错误代码为-532462766
- ASP.NET MVC3 AJAX.BeginForm AjaxOptions OnSuc
- 通过添加HTTP Header实现上下文数据在WCF的自动传