24

我已经读过(或者可能从同事那里听说过),在 .NET 中,TransactionScope 可以达到其超时,然后 VoteCommit(与 VoteRollback 相对)。这是准确的还是传闻?我无法在网络上找到谈论这个问题的信息(如果它是一个问题),所以我想知道是否有人对此有任何直接经验并且可以提供一些启示?

4

2 回答 2

30

Marc Gravell 描述的行为在 .Net 4.0 中已更改。它现在将抛出 InvalidOperationException,而不是自动提交操作。所以在 4.0 中你不再需要使用 Explicit Unbind。

于 2010-08-19T23:46:34.130 回答
27

如果您的意思是与 SQL Server 相关,那么您可以在连接字符串中修复一个问题;在此处查看我的回复,或在此处查看完整的详细信息。

简短的版本是:确保您Transaction Binding=Explicit Unbind;在连接字符串中有。

它实际上并没有进行投票提交——事务(和任何早期操作)已经回滚,但是任何后续操作(仍在 内部TransactionScope)都可以在 nul 事务中执行,即自动提交。

于 2008-10-12T12:25:28.540 回答