elI には 2 種類のノードがあります。1 つはコーディネーターで、もう 1 つはワーカー ノードです。
それらは SOAP を介して通信します。
すべてのワーカー ノードは、相互に排他的なデータベース レコードの要求をコーディネーターに送信します。
コーディネーターに安全なレコードの ID を各ワーカーに返してもらいたいので、ワーカーが同じレコードを処理することはありません。
ミューテックスを使用して C# のスレッドで同様のことを行う方法は知っていますが、同期 Web サービス呼び出しのベスト プラクティスを知りたいと思っていました。
編集:私が抱えている問題はここにあります
public class Coordinator: System.Web.Services.WebService
{
[WebMethod]
//Returns a mutually record to worker nodes
public int RequestRecordID()
{
//i want to lock here
int id = repository.getFirst(el => el.locked==false);
repository.getByID(id).locked = true;
repository.save();
//unlock here
return id;
}
}