繁体   English   中英

Transaction和TransactionScope之间的区别

[英]Difference Between Transaction and TransactionScope

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

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

来自msdn:

TransactionScope类提供了一种将代码块标记为参与事务的简单方法, 而无需您与事务本身进行交互 事务范围可以自动选择和管理环境事务。 由于其易用性和高效率,建议您在开发事务应用程序时使用TransactionScope类。 实例化TransactionScope时,事务管理器确定要参与的事务 一旦确定,范围始终参与该交易。 该决定基于两个因素:是否存在环境事务以及构造函数中的TransactionScopeOption参数的值。 环境事务是代码执行的事务。 您可以通过调用Transaction类的静态Current属性来获取对ambient环境事务的引用。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM