Hi everyone,
We're using a TransactionScope object in .NET 2.0 to perform our transactions. We're using a
using(DataAccessAdapter da = new DataAccessAdapter()) {
// do stuff
}
type pattern in our business logic. However, the function in which the transaction takes place calls a number of business logic methods, each of which instantiates their own DataAccessAdapter (and then goes out of scope again). This is resulting in the following exception. It does not occur when we just use one DataAccessAdapter for the entire transaction. Any suggestions?
Thanks!
The transaction manager has disabled its support for remote/network transactions.
[COMException (0x8004d024): The transaction manager has disabled its support for remote/network transactions. (Exception from HRESULT: 0x8004D024)]
System.Transactions.Oletx.IDtcProxyShimFactory.ReceiveTransaction(UInt32 propgationTokenSize, Byte[] propgationToken, IntPtr managedIdentifier, Guid& transactionIdentifier, OletxTransactionIsolationLevel& isolationLevel, ITransactionShim& transactionShim) +0
System.Transactions.TransactionInterop.GetOletxTransactionFromTransmitterPropigationToken(Byte[] propagationToken) +218
[TransactionManagerCommunicationException: Network access for Distributed Transaction Manager (MSDTC) has been disabled. Please enable DTC for network access in the security configuration for MSDTC using the Component Services Administrative tool.]
System.Transactions.Oletx.OletxTransactionManager.ProxyException(COMException comException) +327
System.Transactions.TransactionInterop.GetOletxTransactionFromTransmitterPropigationToken(Byte[] propagationToken) +307
System.Transactions.TransactionStatePSPEOperation.PSPEPromote(InternalTransaction tx) +70
System.Transactions.TransactionStateDelegatedBase.EnterState(InternalTransaction tx) +201
System.Transactions.EnlistableStates.Promote(InternalTransaction tx) +12
System.Transactions.Transaction.Promote() +53
System.Transactions.TransactionInterop.ConvertToOletxTransaction(Transaction transaction) +28
System.Transactions.TransactionInterop.GetExportCookie(Transaction transaction, Byte[] whereabouts) +202
System.Data.SqlClient.SqlInternalConnection.EnlistNonNull(Transaction tx) +527
System.Data.SqlClient.SqlInternalConnection.Enlist(Transaction tx) +740108
System.Data.SqlClient.SqlInternalConnectionTds.Activate(Transaction transaction) +734295
System.Data.ProviderBase.DbConnectionInternal.ActivateConnection(Transaction transaction) +30
System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject) +1209
System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) +82
System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) +105
System.Data.SqlClient.SqlConnection.Open() +111
SD.LLBLGen.Pro.ORMSupportClasses.DataAccessAdapterBase.OpenConnection() +188
SD.LLBLGen.Pro.ORMSupportClasses.DataAccessAdapterBase.StartTransaction(IsolationLevel isolationLevelToUse, String name) +265
SD.LLBLGen.Pro.ORMSupportClasses.DataAccessAdapterBase.SaveEntityCollection(IEntityCollection2 collectionToSave, Boolean refetchSavedEntitiesAfterSave, Boolean recurse) +930
SD.LLBLGen.Pro.ORMSupportClasses.DataAccessAdapterBase.SaveEntityCollection(IEntityCollection2 collectionToSave) +36