Вопрос

У меня есть приложение, которое выполняет транзакции, охватывающие несколько баз данных на одном сервере.Естественно, в этом участвует координатор распределенных транзакций Microsoft, и все работает так, как должно.

Однако когда я удаленно подключаюсь к сети, в которой размещен сервер, через VPN и запускаю приложение на своем локальном компьютере, я получаю следующую ошибку:

System.Transactions.TransactionManagerCommunicationException:«Связь с базовым менеджером транзакций не удалась».

Вызванный:

System.Runtime.InteropServices.COMException: При вызове COM-компонента была возвращена ошибка HRESULT E_FAIL.

Вот трассировка стека для исходного исключения:

в System.Transactions.Oletx.IDtcProxyShimFactory.ReceiveTransaction(UInt32 propgationTokenSize, Byte[] propgationToken, IntPtr ManagedIdentifier, Guid& идентификатор транзакции, OletxTransactionIsolationLevel& изоляцияLevel, ITransactionShim& транзакцииShim)
в System.Transactions.TransactionInterop.GetOletxTransactionFromTransmitterPropigationToken (Byte [] propagationToken)

Проблема возникает только когда подключаюсь к серверу через VPN-туннель.
Также обратите внимание, что я временно отключил брандмауэр Windows на своем локальном компьютере, чтобы быть уверенным, что он не блокирует MSDTC.

Кто-нибудь знает какие-либо проблемы при запуске MSDTC через VPN?

Это было полезно?

Решение

Вы администрируете VPN-соединение?В VPN могут быть ограничены порты.Кроме того, вы администрируете свои серверы?Ваши серверы могут разрешать подключения только с внутренних IP-адресов, а не из сегмента, используемого для службы VPN.Если вы администратор, возможно, вам поможет информация о том, какое программное обеспечение VPN вы используете.

Другие советы

Я предлагаю вам запустить DTCPing (доступен где-то на сайте Microsoft). Он запускается одновременно на обеих машинах и обнаруживает всевозможные проблемы с DTC.

Будьте осторожны. У меня были большие трудности с этим инструментом, пока я не прочитал инструкции и не начал обе части теста, прежде чем нажать кнопку «Начать тест».

У меня та же проблема при использовании клиента Windows 7 x64 и сервера Server 2003R2.Мне удалось заставить его работать (на том же VPN, на том же сервере), используя XP, Vista x86 и Windows 7 x86.У меня есть звонок в службу поддержки Microsoft, и они изучают этот вопрос.Мне интересно, какую операционную систему вы используете на своих клиентских машинах?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top