【问题标题】:Why WCF needs DTC for transaction flow?为什么 WCF 需要 DTC 来处理事务流?
【发布时间】:2010-01-26 12:02:59
【问题描述】:

当我使用事务流时,我想知道为什么 WCF 需要在客户端和服务器上配置和启动 MSDTC。 (启用网络访问)

毕竟,WCF 中的事务是通过使用 WsAtomicTransaction 的 SOAP 消息来管理的... 那么到底为什么这两个 DTC 需要相互通信呢?

感谢您的回复。

【问题讨论】:

    标签: .net wcf transactions wsat


    【解决方案1】:

    是的,WCF 可以并且将在适当的时候使用 WS-AtomicTransactions - 主要是在互操作性场景中(使用非 .NET 客户端或服务)。

    但很多时候 - 互操作性是以(性能)为代价的,如果您的客户端和服务都是基于 Windows 的,WCF 将选择使用 OleTransactions(OleTx 用于只有一个持久存储的简单案例)或 MS-DTC (对于涉及多个持久存储的更高级场景)- 出于性能和简单性的原因。

    所以 WCF 本身需要 MS-DTC - 但 WCF(和您!)可以在仅限 Windows 的场景中从中受益。

    【讨论】:

    • 但我不希望这样,它使服务和我的客户端的部署和配置变得非常复杂......
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多