Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# WCF服务并发hadnling_C#_Wcf - Fatal编程技术网

C# WCF服务并发hadnling

C# WCF服务并发hadnling,c#,wcf,C#,Wcf,我正在设计一个winform应用程序,它应该在冗余环境(主环境和备份环境)中工作 这两个应用程序都必须运行7/7 24/24,它们在后端连接到ODATA服务以获取对象列表 我想要实现的是锁定要处理的对象条目,然后只有一个应用程序(第一个get order to send命令)处理它并继续该过程 这就是我想做的 为要处理的对象提供以下值之一的设计方法AcquireLock: AcquireLock_trunt=在AcquireLock方法的第一行代码中设置。 AcquireLock_ACK=如果对

我正在设计一个winform应用程序,它应该在冗余环境(主环境和备份环境)中工作

这两个应用程序都必须运行7/7 24/24,它们在后端连接到ODATA服务以获取对象列表

我想要实现的是锁定要处理的对象条目,然后只有一个应用程序(第一个get order to send命令)处理它并继续该过程

这就是我想做的

为要处理的对象提供以下值之一的设计方法AcquireLock: AcquireLock_trunt=在AcquireLock方法的第一行代码中设置。 AcquireLock_ACK=如果对象未被并发应用程序锁定。 AcquireLock_NAK=对象已锁定或发生错误

如果你已经面临类似的情况,请不要犹豫与我分享你的经验

注: 1-我的服务配置为每次呼叫。
2-获取锁和设置新状态(Cmd_Send_OK,Failed_Transaction,…)之间的处理可能在毫秒到秒之间。

我不太清楚您的问题,但对于锁定列表中的单个对象,我建议在关键部分事务内/期间使用sql server对象表行锁定(甚至读取):它的内部进程,允许您处理大型对象列表。请参阅讨论

您的WCF服务可以使用

[ServiceBehavior(InstanceContextMode = InstanceContextMode.Single, ConcurrencyMode = ConcurrencyMode.Single)]

7/7 24/24? 你是说24/7?我正在使用Mysql数据库,并对每个对象/id使用Monitor.Lock或类似工具?这是一个进程的锁定