2

当使用 ado.net 并在单个事务中创建到 MS SQL Server 数据库的多个连接时(使用 System.Transactions.TransactionScope),System.Transactions 是否将事务从轻量级事务管理器提升到分布式事务协调器(内核事务协调器在 Vista 上),即使所有连接对象的连接字符串都相同?

该文档在这种特定情况下有些模棱两可。它说如果在事务期间打开另一个连接到服务器,则事务将被提升,但它没有说它是否一直这样做,或者只有在连接字符串不同时才这样做。如果连接字符串相同,它会提升事务对我来说没有意义,但如果确实如此,它基本上使轻量级事务管理器完全无用,IMO。

4

1 回答 1

3

不幸的是,在当前版本中,它总是提升交易。

正如您所说,这使得 TransactionScope 的用处远不如其他方式。我相信有计划在未来的版本中改变这一点。

于 2008-12-27T10:39:33.317 回答