![](/img/trans.png)
[英]Difference between TransactionScope and Rollback Transaction manually?
[英]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中的事务的伟大(有点旧)文章
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.