Я пытаюсь настроить среду, в которой TransactionScope, созданный на веб-сервере (asp.net), будет передавать транзакцию через WCF на сервер приложений, а затем через базу данных. Поскольку я вынужден использовать базу данных SQL Server 2005, это часто приводит к тому, что транзакция «превращается» в распределенную транзакцию (в эту TransactionScope может быть включено несколько вызовов службы), что означает, что необходимо включить координатор распределенных транзакций.
Я успешно установил его на локальном компьютере, где веб-сервер и сервер приложений размещены на одном компьютере, подключаясь к удаленной базе данных. DTC связывается через порт 135 для соединений RPC (а также для верхнего диапазона). У меня нет двухблочной установки для тестирования ... для того, чтобы DTC работал, нужно ли открывать порт 135 (с точки зрения брандмауэра) для связи между веб-сервером и сервером приложений или просто для разговора на сервере приложений в базу данных? Я испытываю отвращение от людей, которые занимаются развертыванием, по поводу открытия 135 из Интернета на сервер приложений, и мне было интересно, было ли это вообще необходимо. Мне еще предстоит найти документ в Интернете, который прояснит это для меня.
В некотором роде вопрос заключался в том, чтобы надеяться на некоторое понимание со стороны кого-то, кто мог столкнуться с этим.
С уважением,
GA