C# TransactionScope引发事务超时异常

C# TransactionScope引发事务超时异常,c#,transactions,transactionscope,C#,Transactions,Transactionscope,我正在创建一个Windows服务,它基本上每24小时运行一次,从计算机上的文件中获取数据,并将数据放入数据库 共有27个文件,其中5个文件一个接一个地运行,另外22个文件生成新线程并同时运行 我目前面临的问题是,在TransactionScope的using语句的末尾,我调用Complete(),该语句运行良好,但一旦using语句的末尾(最后一个括号)被命中,就会抛出TransactionBortedException 以下是我的代码的设置方式: using (TransactionScope

我正在创建一个Windows服务,它基本上每24小时运行一次,从计算机上的文件中获取数据,并将数据放入数据库

共有27个文件,其中5个文件一个接一个地运行,另外22个文件生成新线程并同时运行

我目前面临的问题是,在TransactionScope的using语句的末尾,我调用Complete(),该语句运行良好,但一旦using语句的末尾(最后一个括号)被命中,就会抛出TransactionBortedException

以下是我的代码的设置方式:

using (TransactionScope scope = new TransactionScope(TransactionScopeOption.RequiresNew, TimeSpan.FromHours(1)))
{
    using (RgsDb2.DbConnection pDbConn = mComms.DbConnection(mConnectionString))
    {
        if (FirstFile(mCurrentImportDate, pDbConn))
        {          
            if (SecondFile(mCurrentImportDate, pDbConn))
            {            
                if (ThirdFile(mCurrentImportDate, pDbConn))
                {            
                    if (FourthFile(mCurrentImportDate, pDbConn))
                    {            
                        if (FifthFile(mCurrentImportDate, pDbConn))
                        {
                            //LOOPS THROUGH THE LIST AND CREATES A NEW THREAD FOR THE FILE AND ADDS THAT TO A LIST.
                            foreach (string pFileThread in pThreadArray)
                            {
                                ProcessFilesThread pFileImportThread = new ProcessFilesThread(mConfiguration, pFileThread, mCurrentImportDate, ref pThreadList, ref mImportResults, mConnectionString, mFiles);
                                mActiveThreads.Add(pFileImportThread);
                             }

                             //STARTS EACH THREAD IN THE LIST.
                             mActiveThreads.ForEach(a => a.Start());
                        }
                    }
                }
            }
        }
    }
    scope.Complete();
}
对于前5个文件,它们使用using语句中的pDbConn,但因为这22个文件将同时运行,所以其他22个文件中的每个文件都有自己的连接


有人能看到抛出TransactionBortedException的原因吗?

可能是@Amit的重复项我看到了这一点并添加了超时,但它仍然不起作用。那么您是否收到任何内部异常?