加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

C#数据库应用程序并发

发布时间:2020-12-16 01:30:14 所属栏目:百科 来源:网络整理
导读:我在c#的某个时代使用SQL Server 2005 express作为后端编写了一个多用户应用程序. 我有一个Orders系列.要使用此类,您需要实例化它并只需调用Load(CustomerCode)方法,以便使用指定的客户订单填充集合. 我的问题: 如何强制执行并发,以便只有1个用户可以为特定
我在c#的某个时代使用SQL Server 2005 express作为后端编写了一个多用户应用程序.

我有一个Orders系列.要使用此类,您需要实例化它并只需调用Load(CustomerCode)方法,以便使用指定的客户订单填充集合.

我的问题:

如何强制执行并发,以便只有1个用户可以为特定客户请求Orders集合?当用户完成对象时(当对象设置为null时),
我需要再次提供它.

解决方法

您需要实现 Pessimistic Offline Lock模式.

基本上你有一个表,你把记录放在其他表中的记录上表示“锁定”.当您想要编辑记录时,首先检查锁定表中是否存在锁定,并在域逻辑/ UI中做出相应的反应.

它不必是数据库,它可以是内存缓存.当我在我的例子中说“table”时,我的意思是逻辑表,不一定是数据库表.

Pessimistic Offline Lock prevents conflicts by avoiding them altogether. It forces a business transaction to acquire a lock on a piece of data before it starts to use it,so that,most of the time,once you begin a business transaction you can be pretty sure you’ll complete it without being bounced by concurrency control.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读