【发布时间】:2014-05-09 04:37:11
【问题描述】:
如何通过网络调用“加入”两个事务性组件?
[注意:假设双方都使用 C# 是安全的。]
详情: 假设我们有两台服务器,A 和 B。A 上的进程(假设 X)通过 TCP 与 B 上的服务 Y 通信。此通信不使用 WCF,而是通过 TCP 传递的简单字节。 X 还处理 SQL Server,M. Y 处理 SQL Server N。 我想做什么:
- 客户端在 TransactionScope 内的 X 中启动调用。
- 它处理 SQL Server M 并通过 TCP 向 Y 发出调用。
- Y 对 SQL Server Y 做了一些事情。
我希望所有这一切都符合进行初始客户端调用的 TransactionScope。换句话说,任何一方的失败都应该回滚双方。
如何让 Y 参与 X 开始的交易?我知道需要启用 MS DTC。
【问题讨论】:
标签: c# sql-server tcp transactions msdtc