C#Web服务和计时器作业中的竞争条件

时间:2015-08-13 12:22:51

标签: c# race-condition

以下序列导致种类的竞争条件。

客户购买服务的那一刻,数据库包含一个字段payment = false

的行

客户被引导至支付网关。只有付款成功,才会调用Web服务。 (这是支付网关的设计限制)

网络服务会将字段status的状态更新为true

在每x个时间间隔,我有一个计时器作业,将数据库行的状态同步到第三方系统。第三方系统目前无法更新记录。该作业当前在数据库中查找记录,该记录没有在第三方系统中创建记录时发出的GUID。它只将那些记录写入第三方系统。

我所遇到的是网络服务将付款的值设置为true,但作业已将付款的值写为false。

我该如何解决这个问题?

0 个答案:

没有答案