Mensagem de erro "Comunicação com o gerenciador de transações subjacente falhou"

Recentemente, um cliente nosso atualizou um aplicativo da Web do ASP.NET 1.1 para o ASP.NET que usa o processamento de transações COM + e recebeu a seguinte exceção ao tentar processar uma transação:

Exception Type: System.Transactions.TransactionManagerCommunicationException
Message: Communication with the underlying transaction manager has failed.

Inner Exception Type: System.Runtime.InteropServices.COMException ErrorCode: -2147467259
Message: Error HRESULT E_FAIL has been returned from a call to a COM component.

Aqui estão as seguintes configurações nas configurações de segurança do MSDTC:

-- Network DTC Access
-- Allow Inbound
-- Allow Outbound
-- Incoming Caller Authenication Required

Uma estação de trabalho do Windows XP SP3 está tentando estabelecer uma conexão com uma máquina com Windows Server 2003.

Alguém já experimentou esse erro e sabe como resolvê-lo.

8

5 Respostas

Você precisará ter o acesso DTC de rede ativado em sua estação de trabalho XP e em sua máquina Windows 2003. Além disso, se o seu aplicativo for publicado apenas internamente, você poderá desativar a autenticação do chamador de entrada e defini-lo como "sem autenticação".

14
adicionado
Legal ... vou comparar as configurações no servidor com as configurações da minha estação de trabalho.
adicionado o autor Michael Kniskern, fonte
Obrigado pela resposta. Eu apenas tive que mudar "Autenticação de Chamadas de Entrada Necessária" para "Nenhuma Autenticação Requerida"
adicionado o autor Michael Kniskern, fonte

Adicione C: \ Windows \ msdtc.exe às exceções de firewall no firewall e no servidor. Passei séculos explorando números e intervalos de portas específicos sem sucesso antes de fazer isso.

9
adicionado
+1 me tirou de um improdutivo buraco negro de desgraça, obrigado
adicionado o autor Ralph Lavelle, fonte
No Windows Server 2008 R2 Datacenter, estava em c: \ windows \ system32 \ msdtc.exe.
adicionado o autor Rami A., fonte

1) Desativar a autenticação, além de permitir o acesso da rede ao serviço de "coordenação de transações distribuídas" (autenticação mútua não funciona como exibido na internet em máquinas xp sp3)

2) permitir o acesso à rede nas máquinas do cliente (aplicativo da Web) e do servidor (servidor sql) para o serviço de "coordenação de transação distribuída".

3
adicionado

Caso você precise de ajuda para encontrar as configurações do MSDTC mencionadas nas outras respostas (como eu fiz), o seguinte link explica como configurar o MSDTC no servidor 2003.

http://itknowledgeexchange.techtarget.com/ sql-server/como-configurar-dtc-on-windows-2003/

0
adicionado