【问题标题】:Multiple simultaneous connections DotNetCore多个同时连接 DotNetCore
【发布时间】:2019-12-23 22:43:33
【问题描述】:

我想在我的 dotnet 核心项目中将 TransactionScope 用于我的业务服务。 我同时使用 MysqlConnection 和 SqlConnection。 我的目的是在我自己的数据库中添加一些数据,并对客户端数据库进行一些操作。

 using TransactionScope scope = new TransactionScope();
 var addDatabase = await _databaseRepository.AddDatabase(mappedEntity);
 await _realDbService.CreateDatabaseOnRemote(dto);
 scope.Complete();

这是我的服务的代码示例。 每个存储库都进行自己的 crud 操作。 我已尝试关闭已完成的连接。

但我有一个错误,即当前不支持多个同时连接或同一事务中具有不同连接字符串的连接。

感谢您的 cmets。

【问题讨论】:

    标签: mysql .net-core transactionscope n-tier-architecture


    【解决方案1】:

    我为这个问题使用了一个解决方案,但我不确定它是否是最佳解决方案。

    我使用 Transaction.Current.TransactionCompleted 事件如果事务完成,那么我将我的方法称为内联范围。

                   using TransactionScope scope = new TransactionScope();
    
                    addDatabaseResult = await _databaseRepository.AddDatabase(mappedEntity);
                    Transaction.Current.TransactionCompleted += delegate
                    {
                        using TransactionScope scopeInline = new TransactionScope();
                        _realDbService.CreateDatabaseOnRemote(dto);
                        scopeInline.Complete();
    
                    };
                    scope.Complete();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-11
      • 1970-01-01
      • 2018-12-17
      相关资源
      最近更新 更多