1

クライアントサーバーアプリがあります。クライアントは.NET4.0アプリです。サーバーはステートレスWCF(.NET 4.0)サービスです。WCFサービスは、SQLServer2005データベースでCRUDを実行します。WCFは、トランザクションをサポートするように構成されています。スケーラビリティのために、サービスはステートレスである必要があります。さまざまな物理マシン上にWCFサービスのインスタンスがいくつかあります。それらはロードバランサーの背後にあります。クライアントの次のコードがある場合:

using (var scope = new TransactionScope())
{
  var proxy1 = new WCFServiceProxy();
  proxy.DoSomeDBStuff1();
  proxy.DoSomeDBStuff2();

  scope.Complete();
}

これらの2つのサービス要求は、WCFサービスの異なるインスタンスによって処理される場合があります。これらのトランザクションは適切に機能しますか?

4

1 に答える 1

2

それらは正しく動作するはずです。トランザクションの2フェーズコミットは、同じロードバランサーの下にあるかどうかに関係なく、異なるマシン間で機能する必要があります。

于 2012-08-22T21:53:07.947 に答える