【发布时间】:2011-05-25 14:16:48
【问题描述】:
我不是 WCF 和 MSDTC 方面的专家,所以希望这很简单。我有一个客户端服务器、一个 Web 服务服务器和一个数据库。我希望能够将对 Web 服务服务器的调用包装在 TransactionScope 中,这样如果操作中出现故障,我可以退出。当所有 3 个组件都位于我的本地计算机上时,此设置工作正常。当我将它们移动到单独的服务器时,一切正常,直到调用在 TransactionScope 内。
我可以看到在 dcomcnfg -> 组件服务 -> 计算机 -> 我的电脑 -> 分布式事务协调器 -> 本地 DTC 下的客户端和 Web 服务服务器上都添加了事务。我看到两台机器上都出现了相同的交易。问题是,它只是等待超时并失败。如果我查看应该在 TransactionScope 内发生的 Web 服务调用的事务日志,它们不存在。
我错过了什么?
【问题讨论】: