|
|
1
8
编辑:为了更具体地回答您的问题,以下是Strahl对TransactionScope的看法:
|
|
|
2
1
我使用TransactionScope已经一年多了,没有出现任何问题。然而,该应用程序是一个用户数量非常少的内部应用程序。此外,数据库和应用程序位于同一服务器上。 以下是有关TransactionScope的一些信息以及在哪里查找更多信息: 每当您创建TransactionScope对象时,它都会启动一个轻量级事务。然后,只要您使用支持轻量级事务的单个连接/资源,事务将由资源管理器处理,消耗尽可能少的资源,性能非常好。当您在事务作用域中添加第二个连接/资源时,事务管理器将自动升级为OleTx事务管理器,该管理器可以使用COM+DTC技术处理分布式事务。这也会发生在与不支持SQL Server 7/2000、Oracle和其他RDBMS等轻量级事务的资源管理器的单个连接上。 以下是两种可能对您有所帮助的资源: Microsoft Windows Server 2003 Service Pack 1(SP1)和Microsoft Windows XP Service Pack 2(SP2)包含许多与安全相关的更新和更改。其中一些更改会影响Microsoft分布式事务处理协调器(MSDTC)服务 New functionality in the Distributed Transaction Coordinator service in Windows Server 2003 Service Pack 1 and in Windows XP Service Pack 2 和 Juval Lowy关于系统的白皮书。交易: Introducing System.Transactions in the Microsoft .NET Framework version 2.0 |
|
|
3
1
TransactionScope仍然存在问题。在我目前的项目中,我们不定期地遇到无法登记分布式事务异常和TransactionInDoubtException。这两个异常都与TransactionScope有关。解决这两种异常的一种方法是使用单个oracle连接(当然,如果适用)。 请阅读以下内容: Avoid unwanted Escalation to Distributed Transactions 有关性能影响的信息,请阅读我的帖子: Performance impact using TransactionScope |