一、 事务概述
1、 事务协议
跟 WCF 相关的事务协议有三个。
1.1. Lightweight protocol
这是个轻量级的本地事务协议,限制管理在一个 AppDomain 中的事务。不能跨 AppDomain 边界传播事务,也不能跨服务边界传播事务。跟其他协议比, Lightweight protocol 是最有效率的协议。
1.2. OleTx protocol
这个协议可用于跨 AppDomain ,进程和机器边界,管理两阶段提交的事务协议。这个跨边界的事务协议使用 RPC ,是二进制的, windows 专有的协议,不能穿越防火墙,也不能用于与非 windows 系统的互操作。在 windows 环境下的局域网, OleTx 协议是很好的分布式事务的管理协议。
1.3. WS-Atomic Transaction (WSAT) protocol
WSAT 跟 OleTx 协议类似,也可以跨 AppDomain ,进程和机器边界,管理两阶段提交的事务协议。但 WSAT 不是微软的专有协议,此协议是微软、 IBM 、 BEA 等公司共同提出的工业标准。此协议也可用于 Intranet 中,但是更多的是用于在 Internet 环境下,或者跟非 windows 系统进行互操作的分布式事务。
说到 WSAT 协议这里有必要一下分布式事务的发展。