1

我有客户端服务器应用程序。客户端是一个 .NET 4.0 应用程序。服务器是无状态的 WCF (.NET 4.0) 服务。WCF 服务对 SQL Server 2005 数据库执行一些 CRUD。WCF 配置为支持事务。为了可扩展性,服务应该是无状态的。在不同的物理机器上有几个 WCF 服务实例。它们位于负载均衡器后面。如果我们有如下客户端代码:

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

  scope.Complete();
}

这两个服务请求可能由不同的 WCF 服务实例提供服务。这些交易会以正确的方式进行吗?

4

1 回答 1

2

他们应该正常工作。事务的 2 阶段提交应该在不同的机器上工作,不管它们是否在同一个负载均衡器下。

于 2012-08-22T21:53:07.947 回答