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

Я нашел полезную информацию здесь, но теперь я просто застрял. Любые идеи?

Ответ 1

Я был в одном и том же положении и, наконец, понял, что наиболее очевидное решение было таким: одна машина имеет брандмауэр, а другой нет. Трудная часть заключалась в том, что только часть брандмауэра была включена, а другие были отключены, поэтому я не заметил этого в первый раз.

Ответ 2

Вам нужно добавить службу Distributed Transaction Coordinator в качестве исключения в брандмауэре. Также убедитесь, что RPC (порт 135) включен и добавлен как исключение en в брандмауэре.

Также вы можете проверить, является ли брандмауэр виновником, отключив брандмауэр и перезапустив DTCP.