TransactionScope:如何读回已提交事务的结果?

时间:2011-05-08 14:44:32

标签: c# transactionscope

我想在分布式事务中工作,提交它,然后能够读取结果。类似的东西:

using( var ts = new TransactionScope() )
{
do work on connection A
do work on connection B

ts.Complete();
}

read back work on A
read back work on B

这不能始终如一地工作,因为一旦所有资源都表示他们将提交(第2阶段的开始),而不是他们已经提交(第2阶段结束)并且提交发生在不同的线程上,TransactionScope就会结束

有没有办法强制提交同步?或者我应该使用其他一些模式来回读结果?

1 个答案:

答案 0 :(得分:1)

通常情况下,我希望这可以工作,因为在提交(或回滚)之前应该阻止它。您是否正在使用锁定避免机制(nolock等)?你总是可以在另一个Serializable事务中读取(即第二个TransactionScope) - 这应该确保读取为真。

相关问题