C# 在嵌套transactionscope内提交事务

C# 在嵌套transactionscope内提交事务,c#,asp.net,asp.net-4.0,C#,Asp.net,Asp.net 4.0,我有以下情况: using (TransactionScope TX = new TransactionScope()) { for (int i = 0; i < Iterations; i++) { //Loop and perform DB updates. //Update logs using (TransactionScope TX1 = new TransactionScope()) { /

我有以下情况:

using (TransactionScope TX = new TransactionScope()) 
{

   for (int i = 0; i < Iterations; i++)
   {
      //Loop and perform DB updates.

      //Update logs
      using (TransactionScope TX1 = new TransactionScope()) 
      {
         //Open DB Connection and update the logs to say i out of iterations complete.
         TX1.Complete();
      }
   }

   TX.Complete();
}
使用(TransactionScope TX=new TransactionScope())
{
对于(int i=0;i
我的问题是我想更新日志,这样用户就可以检查进度,但我不想提交循环中正在执行的SQL主块

不确定我是否遗漏了一些明显的东西,但有人有什么建议吗


我正在使用ASP.NET 4。

首先,您似乎希望在FOR循环内部而不是外部更新日志


其次,您有两个同名的事务。将嵌套事务命名为其他名称(如TX_2或其他名称)。

代码是我的场景的模拟,而不是我的实际代码。我将调整示例。谢谢,好的,我看到你的编辑了。现在…你遇到了什么问题?我的意思是…你想在什么时候提交外部事务?我想在循环的每个迭代中提交日志事务
TX1
,但不想提交其他更新
TX
,直到它们全部完成。我明白了——现在没有发生这种情况?从代码的外观来看,TX1将在每次迭代中提交;在所有迭代完成之前,TX不会提交。