Transactionscope выбрасывает исключение эта платформа не поддерживает распределенные транзакции при открытии объекта подключения
TransactionScope выбрасывает исключение я использую .net core 2.2
В этом примере я сначала создаю область действия TransactioScop затем открываю SQL транзакцию для одной базы данных которая работает нормально затем после первой транзакции я вызываю commit который будет фиксировать SQL транзакцию затем я пытаюсь открыть вызов транзакции для другой базы данных при создании транзакционной системы выбрасывая исключение
как
This platform does not support distributed transactions.
создавая сделки в 2 этапа сначала создать объект подключения затем открыть подключение к SQL после звонка начать транзакцию
c# using (TransactionScope scop =new TransactionScope(TransactionScopeOption.Required, TransactionScopeAsyncFlowOption.Enabled)) { _db1UOW.Begin(); //creating sql transaction await _db1UOW.IDenialDetailsRepositorydb1.InsertDenialDetails(denialsDetails); await _db1UOW.IRuleDetailsRepositorydb1.InsertRulesDetails(rulesDetails); _db1UOW.Commit(); //commitng sql transaction _db2UOW.Begin(); //creating sql transaction (but while opening connection object its throwing exception as This platform does not support distributed transactions) await _db2UOW.IRuleDetailsRepository.GetRulesDetails(); await _db2UOW.IDenialDetailsRepository.InsertDenialDetails(denialsDetails); var data = await _db2UOW.IRuleDetailsRepository.InsertRulesDetails(rulesDetails); _db2UOW.Commit(); //commitng sql transaction scop.Complete(); } Message "This platform does not support distributed transactions." at System.Transactions.Distributed.DistributedTransactionManager.GetDistributedTransactionFromTransmitterPropagationToken(Byte[] propagationToken) at System.Transactions.TransactionInterop.GetDistributedTransactionFromTransmitterPropagationToken(Byte[] propagationToken) at System.Transactions.TransactionStatePSPEOperation.PSPEPromote(InternalTransaction tx) at System.Transactions.TransactionStateDelegatedBase.EnterState(InternalTransaction tx) at System.Transactions.EnlistableStates.Promote(InternalTransaction tx) at System.Transactions.Transaction.Promote() at System.Transactions.TransactionInterop.ConvertToDistributedTransaction(Transaction transaction) at System.Transactions.TransactionInterop.GetExportCookie(Transaction transaction, Byte[] whereabouts) at System.Data.SqlClient.SqlInternalConnection.GetTransactionCookie(Transaction transaction, Byte[] whereAbouts) at System.Data.SqlClient.SqlInternalConnection.EnlistNonNull(Transaction tx) at System.Data.SqlClient.SqlInternalConnection.Enlist(Transaction tx) at System.Data.SqlClient.SqlInternalConnectionTds.Activate(Transaction transaction) at System.Data.ProviderBase.DbConnectionPool.PrepareConnection(DbConnection owningObject, DbConnectionInternal obj, Transaction transaction) at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection) at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection) at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection) at System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions) at System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions) at System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry) at System.Data.SqlClient.SqlConnection.Open()
Что я уже пробовал:
попытался удалить SQL транзакцию