Transaction和TransactionScope之间的区别

本文关键字:区别 之间 TransactionScope Transaction | 更新日期: 2023-09-27 18:00:25

我正在开发一个应用程序,该应用程序与SQL Server 2005数据库通信以执行一些存储过程。我的客户端要求所有事务都在C#端管理,而不是由SQL Server管理,因此我在访问数据库时使用System.Transactions.TransactionScope。然而,我刚刚看到System.Transactions.Transaction数据类型,我很困惑。。。每种类型的主要优点/缺点是什么?我应该用哪一个?

请注意,我还必须使用企业库的数据访问应用程序块。

Transaction和TransactionScope之间的区别

来自msdn:

TransactionScope类提供将代码块标记为参与交易,而不需要与事务本身进行交互。A.事务范围可以选择和管理环境事务自动地由于其易于使用和效率,建议使用TransactionScope类开发事务时应用程序实例化时TransactionScope,事务经理决定哪个交易参与。一旦确定,作用域总是参与交易该决定基于两个因素:环境是否交易存在且价值TransactionScopeOption的构造函数中的参数。这个环境事务就是事务代码在其中执行。你可以获得对环境的参考通过调用static交易的当前属性班

你可以在这里阅读更多信息:

http://msdn.microsoft.com/en-us/library/ms172152(v=vs.90).aspx

http://msdn.microsoft.com/en-us/library/system.transactions.transactionscope(v=vs.90).aspx

关于.NET 2.0 中事务的伟大(有点旧)文章

http://msdn.microsoft.com/en-us/library/ms973865.aspx