gpt4 book ai didi

c# - 如何锁定一段特定的代码 C#

转载 作者:太空宇宙 更新时间:2023-11-03 21:09:19 26 4
gpt4 key购买 nike

我在一个购物网站上工作,其中我们只有独特的产品。因此,用户可以同时查看相同的产品并将其添加到他们的购物车中,但是当他们下订单时,无论谁先下订单,都会将相同的产品添加到购物车中。

但我有一个问题,我如何确保我的下单代码在被调用时被锁定并且所有其他请求必须在队列中等待直到它未完成。我阅读了有关 lock 关键字的信息,但不太了解。任何帮助将不胜感激。

下面是我的代码的几个步骤:

第 1 步:调用第 3 方服务以查看该项目是否可用第 2 步:如果元素可用,则通过调用该第 3 方服务进行购买。第 3 步:如果购买成功,则使用标志等更新数据库。

最佳答案

您无法可靠地锁定 Web 服务器上的代码,因为多个 Web 请求可以在不同的进程中运行(至少在您将来升级服务器时)。

相反,您应该确保数据库更改只能成功一次,并为第二次请求优雅地处理失败。数据库更改“自然地”是原子的,因此通过一些智能插入/更新,您的问题就解决了。

关于c# - 如何锁定一段特定的代码 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38725194/

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