TransactionScope超时、空指针

   今天项目中好多地方的TransactionScope突然出现超时或者空指针的情况,但是近期也无代码的修改与提交。后来仔细研究后发现,是Distributed Transaction Coordinator服务被其他软件莫名关闭。

大概原因如下:

using (var ts = new TransactionScope(TransactionScopeOption.Required))
{

  数据源1访问数据库

  using (var ts1 = new TransactionScope(TransactionScopeOption.Required))

  {

    数据源2访问数据库

  }

}

就是事务中使用嵌套或者在一个事务中访问多个数据源,这个时候就需要打开该服务:Distributed Transaction Coordinator-----------分布式事务协调器

原文地址:https://www.cnblogs.com/hobby0524/p/12972595.html