В моем приложении я использую следующий шаблон для вызова БД:
//do a transaction
using (TransactionScope transaction = new TransactionScope(TransactionScopeOption.Required))
{
OperationOnDb1();
//when we open the connection to the “other db” in this call, the transaction would become distributed
OperationOnDb2();
//transaction is now distributed
transaction.Complete();
}
Проблема в том, что Operation1 и Operation2 в 90% случаев используют один и тот же БД ... но есть случаи (ошибки), когда они используют две БД. Я хочу получить исключение, если транзакция станет распределенной.
Как я могу определить, повышена ли транзакция до распределенной транзакции?
Спасибо, Раду