Мой метод службы WCF должен выполнять параллельные задачи в транзакции, которая передается от клиента к службе. Чтобы область транзакции могла проходить через потоки, я включил TransactionScopeAsyncFlowOption в конструкторе класса области транзакции перед отправкой вызова в службу.
using (var transaction = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled))
{
//service call here. Async flow option has no effect on service side.
}
Транзакция передается от клиента к сервису, но не может перейти к подзадачам. Однако, если я создаю новую область транзакции в сервисе и включаю там ее асинхронный поток, тогда транзакция переходит к подзадачам. Итак, мой вопрос: почему опция TransactionScopeAsyncFlow не влияет на транзакцию в конце службы? Разве он не должен принимать параметры области транзакции клиента, чтобы не было необходимости создавать новую область транзакции в службе только для того, чтобы включить ее асинхронный поток?