Транзакция через basicHttpBinding

в настоящее время у нас есть веб-сервис asmx, который предоставляет единственный метод для внесения различных обновлений в базу данных Sql, внутренне заключенный в SqlTransaction.

Я переписываю эту службу в WCF, и мы хотели бы разделить существующий метод на подвызовы, доступ к которым осуществляется через различные службы WCF. Существует ограничение на использование basicHttpBinding для служб, которое исключает все встроенные функции транзакций WCF. Можно ли использовать эту архитектуру и поддерживать транзакцию между несколькими вызовами службы? В качестве возможного решения был предложен WS-TRANS, но я не знаком с ним, будет ли это работать?


person elwy    schedule 09.04.2009    source источник


Ответы (2)


Очень редко можно получить что-то даром. Основное различие между базовымHttpBinding и wsHttpBinding заключается в том, что последний поддерживает протоколы WS-*.

basicHttpBinding дает вам то, что вы имели с ASMX, более или менее. «транзакций» будет намного больше, чем с ASMX.

person John Saunders    schedule 09.04.2009

Насколько мне известно, WS-TRANS означает Веб-службы перевода, так что это не сработает.

Вы имеете в виду WS-TX, из которых < href="http://docs.oasis-open.org/ws-tx/wsat/2006/06" rel="nofollow noreferrer">WS-AtomicTransaction является частью. BasicHttpBinding просто не поддерживает WS-AtomicTransaction. Боюсь, что ваша установка не сработает...

person Ronald Wildenberg    schedule 09.04.2009