Всем привет.
Может подскажет кто, что нужно сделать с WCF-ом, чтобы получить операцию, ведущую себя следующим образом: если есть распределенная (созданная клиентом) транзакция, то операция выполняется в ее контексте, если нет распределенной транзакции, то никаких транзакций не создается и операция выполняется вообще без транзакции.
Поясню зачем это надо. Сейчас есть сервис в нем есть некая операция читающая данные. Так вот, хочется сделать так, чтоб если эта операция вызывается в контексте какой-то транзакции, то она могла бы читать незакомиченные данные, при этом, если эта же операция вызывается вне транзакции, то транзакция не порождалась бы.
OperationBehaviorAttribute.TransactionScopeRequired = true
Позовляет выполнится в контексте респределенной транзакции, но при обращении без транзакции всегда порождает новую.
OperationBehaviorAttribute.TransactionScopeRequired = false
новая не порождается, но и в распределенной выполнится не позволяет.
Увы, третьего не дано