Я использую пользовательское сообщение, которое наследует System.Servicemodel.Channels.Message.
Мое пользовательское сообщение получает коллекцию IEnumerable, которая извлекается из базы данных.
Служба WCF является транзакционной (которая уже проверена),
MS-DTC включен.
Проблема заключается в том, что при использовании защищенного переопределения void OnWriteBodyContents (модуль записи XmlDictionaryWriter) выполняется в пользовательском сообщении, транзакция отсутствует.
System.Transactions.Transaction.Currentнулевой.при выполнении сервиса поток транзакций работает нормально, но когда сообщение записывается механизмом WCF, создается впечатление, что оно вышло из транзакции, что приводит к выполнению команды DB (извлечения данных) без транзакции.
Пожалуйстаобратите внимание, что если я передаю простой массив вместо IEnumerable, действие БД выполняется под транзакцией, но я хочу, чтобы оно выполнялось параллельно с записью ответа.
Любые идеи, пожалуйста, почему транзакция отсутствует ичто можно сделать, чтобы активировать его?
большое спасибо!
Тамир.