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不会提交。