WCF распределенные транзакции с балансировкой нагрузки

У меня есть клиент-серверное приложение. Клиент - это приложение.NET 4.0. Сервер не поддерживает состояние WCF (.NET 4.0). Служба WCF делает некоторые CRUD с базой данных SQL Server 2005. WCF настроен на поддержку транзакций. Службы должны быть без сохранения состояния ради масштабируемости. Существует несколько экземпляров службы WCF на разных физических машинах. Они находятся за балансировщиком нагрузки. Если у нас есть следующий код клиента:

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

  scope.Complete();
}

эти два запроса на обслуживание могут обслуживаться различными экземплярами службы WCF. Будут ли эти транзакции работать правильно?

1 ответ

Решение

Они должны работать правильно. Двухфазная фиксация транзакции должна работать на разных машинах, независимо от того, находятся ли они под одним балансировщиком нагрузки или нет.

Другие вопросы по тегам