I am developing an asp.net application on a machine that is sitting behind a router/firewall and am connecting to a db server that is residing on a remote network. I am having issues with the .net TransactionScope as it tries to sync up the transactions using MS DTC. I have followed the tips about changing registry settings, have ensured that the right ports are open and that the DTC services are allowed access on both servers. The transactions seem to be launched with the same GUID on both the db server as well as my local machine but then the following errors shows up. All help much appreciated. If there is a better forum for this post please let me know.
Error HRESULT E_FAIL has been returned from a call to a COM component.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.Runtime.InteropServices.COMException: Error HRESULT E_FAIL has been returned from a call to a COM component.
[COMException (0x80004005): Error HRESULT E_FAIL has been returned from a call to a COM component.]
System.Transactions.Oletx.IDtcProxyShimFactory.ReceiveTransaction(UInt32 propgationTokenSize, Byte propgationToken, IntPtr managedIdentifier, Guid& transactionIdentifier, OletxTransactionIsolationLevel& isolationLevel, ITransactionShim& transactionShim) +0
System.Transactions.TransactionInterop.GetOletxTransactionFromTransmitterPropigationToken(Byte propagationToken) +221
[TransactionManagerCommunicationException: Communication with the underlying transaction manager has failed.]
System.Transactions.TransactionInterop.GetOletxTransactionFromTransmitterPropigationToken(Byte propagationToken) +339
System.Transactions.TransactionStatePSPEOperation.PSPEPromote(InternalTransaction tx) +71
System.Transactions.TransactionStateDelegatedBase.EnterState(InternalTransaction tx) +183
System.Transactions.EnlistableStates.Promote(InternalTransaction tx) +12
System.Transactions.TransactionInterop.ConvertToOletxTransaction(Transaction transaction) +29
System.Transactions.TransactionInterop.GetExportCookie(Transaction transaction, Byte whereabouts) +165
System.Data.SqlClient.SqlInternalConnection.EnlistNonNull(Transaction tx) +488
System.Data.SqlClient.SqlInternalConnection.Enlist(Transaction tx) +50
System.Data.SqlClient.SqlInternalConnectionTds.Activate(Transaction transaction) +47
System.Data.ProviderBase.DbConnectionInternal.ActivateConnection(Transaction transaction) +28
System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject) +1244
System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) +85
System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) +89