title: The MSDTC transaction manager was unable to pull the transaction from the source transaction manager due to communication problems
body: <p>I have hosted my Webapp on server 1 and my database on server 2</p>
  
  <p>But i m getting following error</p>
  
  <p><strong>"Communication with the underlying transaction manager has failed."</strong></p>
  
  <p>I googled and found a post which mentioned that it is the issue of DTC(Distributed Transaction)
  I enabled DTC on server2(DB server) and made an exception of it in Firewall.</p>
  
  <p><img src="https://i.stack.imgur.com/AGs4d.png" alt="enter image description here"></p>
  
  <p><img src="https://i.stack.imgur.com/pQIS7.png" alt="enter image description here"></p>
  
  <p>But still same error.</p>
  
  <p>Here is the full stack trace</p>
  
  <blockquote>
    <p>Message: System.Transactions.TransactionManagerCommunicationException: Communication with the underlying transaction manager has failed. ---> System.Runtime.InteropServices.COMException: The MSDTC transaction manager was unable to pull the transaction from the source transaction manager due to communication problems. Possible causes are: a firewall is present and it doesn't have an exception for the MSDTC process, the two machines cannot find each other by their NetBIOS names, or the support for network transactions is not enabled for one of the two transaction managers. (Exception from HRESULT: 0x8004D02B)
       at System.Transactions.Oletx.IDtcProxyShimFactory.ReceiveTransaction(UInt32 propgationTokenSize, Byte[] propgationToken, IntPtr managedIdentifier, Guid&amp; transactionIdentifier, OletxTransactionIsolationLevel&amp; isolationLevel, ITransactionShim&amp; transactionShim)
       at System.Transactions.TransactionInterop.GetOletxTransactionFromTransmitterPropigationToken(Byte[] propagationToken)</p>
  </blockquote>
  
  <p>Kindly advice</p>