Почему WCF нужен DTC для потока транзакций? - PullRequest
4 голосов
/ 26 января 2010

Интересно, почему WCF нужно настроить MSDTC и запустить на клиенте и сервере, когда я использую поток транзакций. (с включенным доступом к сети)

В конце концов, транзакции в WCF управляются через сообщения SOAP с использованием WsAtomicTransaction ... Так почему же, черт возьми, два кода неисправности должны общаться друг с другом?

Спасибо за ваш ответ.

1 Ответ

3 голосов
/ 26 января 2010

Да, WCF может и будет использовать WS-AtomicTransactions, когда это уместно, в основном в сценариях взаимодействия (с клиентами или службами, отличными от .NET).

Но, как и много раз, функциональная совместимость достигается по цене (производительности), и если все ваши клиенты и службы работают на базе Windows, WCF решит использовать OleTransactions (OleTx для простых случаев с одним долговременным хранилищем) или MS-DTC (для более сложных сценариев с участием нескольких магазинов длительного пользования) - по соображениям производительности и простоты.

Таким образом, WCF не требуется MS-DTC как таковой, но WCF (и вы!) Могут извлечь из этого пользу в сценариях только для Windows.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...