title: Exception "The operation is not valid for the state of the transaction" using TransactionScope
body: <p>We have a web service on server #1 and a database on server #2.
  Web service uses transaction scope to produce distributed transaction. Everything is correct.</p>
  
  <p>And we have another database on server #3. We had some problems with this server and we reinstalled operation system and software. We configured MSDTC and tried to use web service from server #1 to communicate with database on this server.
  And now after first select statement within transaction scope we get: <code>The operation is not valid for the state of the transaction</code>. This exception falls in every web service request if it is using transaction scope.
  Server #2 and Server #3 is almost similar. The difference can be only in settings.
  .NET framework 3.5  SP1 installed and SQL Server SP3 on all servers.</p>
  
  <p><strong>Full stacktrace:</strong></p>
  
  <blockquote>
    <p>System.Transactions.TransactionState.EnlistPromotableSinglePhase(InternalTransaction
    tx, IPromotableSinglePhaseNotification
    promotableSinglePhaseNotification, Transaction atomicTransaction) в
    System.Transactions.Transaction.EnlistPromotableSinglePhase(IPromotableSinglePhaseNotification
    promotableSinglePhaseNotification) в 
    System.Data.SqlClient.SqlInternalConnection.EnlistNonNull(Transaction
    t в System.Data.SqlClient.SqlInternalConnection.Enlist(Transaction t в
    System.Data.SqlClient.SqlInternalConnectionTds.Activate(Transaction
    transaction) в
    System.Data.ProviderBase.DbConnectionInternal.ActivateConnection(Transaction
    transaction) в 
    System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection
    owningObject) в
    System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection
    owningConnection) в
    System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection
    outerConnection, DbConnectionFactory connectionFactory) в
    System.Data.SqlClient.SqlConnection.Open() в 
    NHibernate.Connection.DriverConnectionProvider.GetConnection() в
    NHibernate.Impl.SessionFactoryImpl.OpenConnection()</p>
  </blockquote>
  
  <p>I searched this message but didn't found any appropriate solution.
  So what settings should I check and what exactly should I do to fix it?</p>