gpt4 book ai didi

c# - 跨机器同步执行

转载 作者:太空宇宙 更新时间:2023-11-03 14:36:08 24 4
gpt4 key购买 nike

我有一个 C# ASP.NET Web 应用程序在负载均衡器后面的两台机器上运行。我们使用粘性 session ,因此我们没有共享的进程 session 状态。我们的代码使用 SQL 数据库,我们处理信用卡。

我们需要同步执行一段代码,检查数据库中的条件并尝试从信用卡中扣款。检查条件和执行信用卡交易必须发生在同一个同步块(synchronized block)中。

我们想出的唯一解决方案是将这段代码移动到网络服务中,并从机器上调用该网络服务。这提出了两个问题..

1) 相当复杂的数据必须由网络服务管理和返回2) Web 服务将成为另一个无法冗余的故障点。

是否有任何工具或框架可以帮助同步在不同机器上运行的代码?

最佳答案

使用应用程序锁:sp_getapplock

将您的“资源”锁定在适当的模式 (X) 中适当的长度(从条件检查开始到插入结束)。

关于c# - 跨机器同步执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/976403/

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