COM obj error: though DTC is configured
<p>I have some c# code that is using </p>

<pre><code> using (TransactionScope ts =
                new TransactionScope(TransactionScopeOption.Required,
                    new TransactionOptions { IsolationLevel = System.Transactions.IsolationLevel.ReadCommitted }))
            {

...

                ts.Complete();
            }
</code></pre>

<p>I get the following error. Do you have an idea why?</p>

<blockquote>
  <p>Server Error in '/MyApp' Application.</p>
  
  <p>Error HRESULT E_FAIL has been returned from a call to a COM component.</p>
  
  <p>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. </p>
  
  <p>Exception Details: System.Runtime.InteropServices.COMException: Error
  HRESULT E_FAIL has been returned from a call to a COM component.</p>
  
  <p>Source Error: </p>
  
  <p>An unhandled exception was generated during the execution of the
  current web request. Information regarding the origin and location of
  the exception can be identified using the exception stack trace below.</p>
  
  <p>Stack Trace: </p>
  
  <p>[COMException (0x80004005): Error HRESULT E_FAIL has been returned
  from a call to a COM component.]<br>
  System.Transactions.Oletx.IDtcProxyShimFactory.ReceiveTransaction(UInt32
  propgationTokenSize, Byte[] propgationToken, IntPtr managedIdentifier,
  Guid&amp; transactionIdentifier, OletxTransactionIsolationLevel&amp;
  isolationLevel, ITransactionShim&amp; transactionShim) +0<br>
  System.Transactions.TransactionInterop.GetOletxTransactionFromTransmitterPropigationToken(Byte[]
  propagationToken) +384</p>
  
  <p>[TransactionManagerCommunicationException: Communication with the
  underlying transaction manager has failed.]<br>
  System.Transactions.TransactionInterop.GetOletxTransactionFromTransmitterPropigationToken(Byte[]
  propagationToken) +259971<br>
  System.Transactions.TransactionStatePSPEOperation.PSPEPromote(InternalTransaction
  tx) +209<br>
  System.Transactions.TransactionStateDelegatedBase.EnterState(InternalTransaction
  tx) +339<br>
  System.Transactions.EnlistableStates.Promote(InternalTransaction tx)
  +21    System.Transactions.Transaction.Promote() +60    System.Transactions.TransactionInterop.ConvertToOletxTransaction(Transaction
  transaction) +71<br>
  System.Transactions.TransactionInterop.GetExportCookie(Transaction
  transaction, Byte[] whereabouts) +309<br>
  System.Data.SqlClient.SqlInternalConnection.GetTransactionCookie(Transaction
  transaction, Byte[] whereAbouts) +45<br>
  System.Data.SqlClient.SqlInternalConnection.EnlistNonNull(Transaction
  tx) +630<br>
  System.Data.ProviderBase.DbConnectionInternal.ActivateConnection(Transaction
  transaction) +45<br>
  System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection
  owningObject) +1466<br>
  System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection
  owningConnection) +84<br>
  System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection
  outerConnection, DbConnectionFactory connectionFactory) +1645767<br>
  System.Data.SqlClient.SqlConnection.Open() +258</p>
</blockquote>
