我的WCF应用程序必须调用其中没有任何并发检查的服务。这是由第三方创建的服务,可能无法让他们添加并发检查。
我可以确保调用第三方服务的唯一方法是通过WCF应用程序。因此,我正在考虑将并发检查放入我的代码中。
为此,我将使用一个唯一描述正在修改的数据的标识符。这个想法是,如果对服务的一个调用正在修改与标识符有关的数据,那么对该标识符的其他调用将需要等到完成为止。
我的WCF服务已达到负载平衡。我可以同时在不同的虚拟机上运行多达16个实例。
因此,大多数处理同步的.NET类都假定共享内存空间。
是否存在标准的“最佳实践”类型的方法来对负载均衡的服务实例进行同步?
我已经考虑过使用数据库表(SQL Server)来尝试管理此问题,但是从体系结构的角度来看,为此目的使用我的持久层似乎是错误的。我希望有其他解决方案。
如何在计算机之间进行同步(锁,互斥量,信号量等)?(最好不使用数据库表进行管理。)