Pergunta

Eu tenho um aplicativo que transações é executado ao longo de mais vários bancos de dados no mesmo servidor. Naturalmente, isso envolve a transação distribuída coordenador e tudo funciona Microsoft como é suposto.

Howver, quando eu conectar remotamente à rede onde o servidor está hospedado via VPN e executar o aplicativo na minha máquina local eu recebo o seguinte erro:
System.Transactions.TransactionManagerCommunicationException : "A comunicação com o gerenciador de transações subjacente falhou."

Causada por:
System.Runtime.InteropServices.COMException: Erro HRESULT E_FAIL foi retornado de uma chamada para um componente COM.

Aqui está o rastreamento de pilha da exceção originário:

em System.Transactions.Oletx.IDtcProxyShimFactory.ReceiveTransaction (UInt32 propgationTokenSize, Byte [] propgationToken, IntPtr managedIdentifier, Guid & transactionIdentifier, OletxTransactionIsolationLevel & isolationLevel, ITransactionShim & transactionShim)
em System.Transactions.TransactionInterop.GetOletxTransactionFromTransmitterPropigationToken (Byte [] propagationToken)

O problema surge só quando eu conectar ao servidor através de um túnel VPN.
Note também que eu tenho temporariamente desativado o Windows Firewall na minha máquina local, apenas para ter certeza de que não bloqueia o MSDTC.

Alguém sabe de quaisquer problemas durante a execução MSDTC através de VPN?

Foi útil?

Solução

Você administrar a conexão VPN? Pode haver portas restritas sobre a VPN. Da mesma forma, você administrar seus servidores? Seus servidores só poderia permitir conexões de endereços IP no interior e não no segmento usado para o serviço VPN. Se você é o administrador, talvez dizendo que o software VPN que você está usando vai ajudar.

Outras dicas

Eu sugiro que você executar DTCPing (disponível a partir do site em algum lugar Microsoft) Este é executado ao mesmo tempo em ambas as máquinas e detecta todos os tipos de problemas DTC.

Tenha cuidado que eu tinha grandes dificuldades com esta ferramenta até que eu realmente ler as instruções e começou a ambos os lados do teste antes que eu cliquei no botão de teste início.

Eu estou tendo o mesmo problema usando um cliente x64 Windows 7 e um servidor Servidor 2003R2. Eu tenho sido capaz de fazê-lo funcionar (na mesma VPN, mesmo servidor) usando XP, Vista x86 e Windows 7 x86. Eu tenho uma chamada de suporte com a Microsoft aberto e eles estão olhando para ele. Estou curioso - o sistema operacional que vocês estão usando em suas máquinas clientes

?
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top