我在测试我的应用程序时遇到的一个问题
从两个不同的浏览器我打开我的应用程序并打开同一页面,我正在做一些操作 然后从两个浏览器同时请求更新数据。两个浏览器的数据都保存在数据库中,这是错误的。
我已经做了一些代码来防止这个问题,比如首先检查数据库中是否存在值。但是这种验证不能防止数据的并发保存。
请帮帮我。我需要解决这个问题 谢谢你
答案 0 :(得分:1)
您可以通过使用乐观或悲观锁定来防止并发错误保存数据
乐观锁定
我们可以通过3种主要方式实现乐观锁定 在.NET中: -
Datasets
: - 默认情况下,数据集实现乐观锁定。他们
在更新之前检查旧值和新值。
Timestamp Data type
: - 在表格中创建时间戳数据类型
并在更新时检查旧时间戳是否等于新时间戳。
Check old and new value
: - 获取值,进行更改和
在做最后更新时检查旧值和当前值
数据库中的值是相等的。如果他们不相等,那么回滚或
else提交值
悲观锁定
有关更多信息,请查看: http://www.codeproject.com/Articles/114262/ways-of-doing-locking-in-NET-Pessimistic-and-opt