MSDTC只在一个方向工作

问题描述 投票:10回答:2

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

++++++++++++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

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

++++++++++++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但现在我只是卡住了。有任何想法吗?

transactionscope msdtc
2个回答
1
投票

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

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


0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.