在嵌套的事务管理器中提交事务

时间:2012-08-30 15:29:22

标签: 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()) 
      {
         //Open DB Connection and update the logs to say i out of iterations complete.
         TX1.Complete();
      }
   }

   TX.Complete();
}

我遇到的问题是我想更新日志,以便用户可以检查进度,但我不想提交在循环中执行的主要SQL块。

不确定我是否遗漏了一些明显的东西,但是有人有任何建议。

我正在使用ASP.NET 4.

1 个答案:

答案 0 :(得分:0)

首先,您似乎想要更新FOR循环内部的日志,而不是在其外部。

其次,您有两个具有相同名称的交易。将嵌套事务命名为其他事物(如TX_2或其他内容)。