MSDTC只在一个方向工作

时间:2011-07-28 18:01:24

标签: transactionscope msdtc

我正在尝试使用TransactionScope进行单元测试,并且在构建服务器上不断出现错误。在关注了几个有用的SO答案和博客之后,我安装了DTCPing并在server1& server2。当我以相反的顺序运行它时,它似乎在一个方向上连接而在另一个方向上失败:

++++++++++++Validating Remote Computer Name++++++++++++
Please refer to following log file for details:
    D:\KPAHQDEV043372.log
Invoking RPC method on teamcity
RPC test is successful
++++++++++++RPC test completed+++++++++++++++
++++++++++++Start DTC Binding Test +++++++++++++
Trying Bind to teamcity
Binding call to teamcity Failed
Session Down

但是当我按照预期的方向运行它时,它就失败了RPC

++++++++++++Validating Remote Computer Name++++++++++++
Please refer to following log file for details:
    C:\TEAMCITY3024.log
Invoking RPC method on kpahqdev04
Problem:fail to invoke remote RPC method
Error(0x6BA) at dtcping.cpp @303
-->RPC pinging exception
-->1722(The RPC server is unavailable.)
RPC test failed

我找到了一些有用的信息here,但现在我只是卡住了。有什么想法吗?

2 个答案:

答案 0 :(得分:0)

我处于相同的状态,最后发现最明显的解决方案就是这样:一台机器启用了防火墙,而其他机器没有。棘手的部分是注意到只有部分防火墙被启用,而其他部分被禁用,所以我第一次没注意到它。

答案 1 :(得分:0)

您需要在防火墙中添加分布式事务处理协调器服务作为例外。 还要确保启用RPC(端口135)并在防火墙中添加例外。

此外,您可以通过关闭防火墙并重新运行DTCP来检查防火墙是否是罪魁祸首。