Поделиться через


Использование WS-AtomicTransaction

WS-AtomicTransaction (WS-AT) - это протокол передачи транзакций с возможностью взаимодействия. Он позволяет передавать распределенные транзакции, используя сообщения веб-служб, и обеспечивать взаимодействие между разнородными инфраструктурами транзакций. WS-AT использует протокол двухфазной фиксации для передачи атомарного результата между распределенными приложениями, диспетчерами транзакций и диспетчерами ресурсов.

Реализация WS-AT Windows Communication Foundation (WCF) включает в себя службу протокола, встроенную в диспетчер транзакций координатора распределенных транзакций Майкрософт (MSDTC). С помощью WS-AT приложения WCF могут передавать транзакции другим приложениям, включая взаимодействие веб-служб, созданных с помощью сторонних технологий.

При передаче транзакции между клиентским и серверным приложениями используемый протокол передачи транзакций определяется привязкой, которую сервер представляет на конечной точке, выбранной клиентом. Некоторые привязки WCF, предоставляемые системой, по умолчанию указывают протокол в качестве формата распространения транзакций, а другие по умолчанию OleTransactions указывают WS-AT. Можно также программно изменить выбор протокола передачи транзакций внутри заданной привязки.

Выбор протокола оказывает влияние на:

  • формат заголовков сообщений, используемых для передачи транзакции от клиента к серверу;

  • сетевой протокол, используемый для выполнения протокола двухфазной фиксации между диспетчером транзакций клиента и транзакцией сервера с целью распознавания результата транзакции.

Если сервер и клиент записываются с помощью WCF, вам не нужно использовать WS-AT. Вместо этого воспользуйтесь параметрами по умолчанию привязки NetTcpBinding с включенным атрибутом TransactionFlow. При этом будет применяться протокол OleTransactions. Дополнительные сведения см. в разделе netTcpBinding>.< В противном случае, если транзакции передаются в веб-службы, созданные на основе сторонних технологий, необходимо использовать протокол WS-AT.

См. также