基本アーキテクチャ:それぞれが同じWCFサービスをホストするn個の物理ボックスが、ロードバランサーを開始しました。トランザクションをサポートしない単一のデータベースインフラストラクチャにヒットする各ボックス-質問しないでください:(
したがって、私のアプリのデータアクセス層では、分散トランザクションのいくつかの方法が必要です。私のオプションは何ですか?
私のシステムのクライアントは、基本的なWebサービス(BasicHttpBinding)と光沢のある新しいWCFクライアント(NetTcpBindingまたはNetNamedPipeBinding)を使用して通信するレガシーアプリになることに注意してください。
編集1
たとえば、物理ボックス1のWCFレイヤーへの単一の呼び出しがあります(例:EditEntity(...))。この呼び出しにより、データベースへの2回の書き込みがトリガーされます。最初の書き込みの後、別のクライアントが、2番目の物理ボックス上のWCFサービスの2番目のインスタンスで同じエンティティに対してEditEntity(...)を呼び出します。2番目のボックスで、この特定のエンティティのトランザクションがすでに実行されていることをどのように知ることができますか?
ありがとう。