Использование 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.