我如何在网络调用中“连接”两个事务组件?
[注意:可以安全地假设双方都使用C#]
详情: 假设我们有两个服务器A和B。 A上的进程(称为X)通过TCP与B上的服务Y通信。 这种通信不使用WCF,而是简单地通过TCP传递字节。 X还处理SQL Server M,Y处理SQL Server N。
我的意图是: 1. 客户端在TransactionScope中启动调用。 2. 处理SQL Server M并通过TCP呼叫到Y。 3. Y使用SQL Server Y执行某些操作。
我希望所有这些都尊重进行初始客户端调用的TransactionScope。换句话说,任一方的失败都应回滚双方。
如何让Y参与在X中启动的交易? 我知道需要启用MS DTC。
[注意:可以安全地假设双方都使用C#]
详情: 假设我们有两个服务器A和B。 A上的进程(称为X)通过TCP与B上的服务Y通信。 这种通信不使用WCF,而是简单地通过TCP传递字节。 X还处理SQL Server M,Y处理SQL Server N。
我的意图是: 1. 客户端在TransactionScope中启动调用。 2. 处理SQL Server M并通过TCP呼叫到Y。 3. Y使用SQL Server Y执行某些操作。
我希望所有这些都尊重进行初始客户端调用的TransactionScope。换句话说,任一方的失败都应回滚双方。
如何让Y参与在X中启动的交易? 我知道需要启用MS DTC。