我正在开发一个 .Net 2.0 应用程序,需要在我的代码中包装一些数据库事务。后端是 SQL Server 2008。
我已经离开 .net 几年了,我最后一次进行任何事务处理是在 .Net 1.1 中使用服务组件。我知道 TransactionScope,并且想知道这是否是现在处理事情的好方法。
此外,在 .Net 3.5 中,我假设还有其他方法可以做到这一点,比如 WCF?只是想知道是否有人可以将我指向一两篇文章。非常感谢。
我正在开发一个 .Net 2.0 应用程序,需要在我的代码中包装一些数据库事务。后端是 SQL Server 2008。
我已经离开 .net 几年了,我最后一次进行任何事务处理是在 .Net 1.1 中使用服务组件。我知道 TransactionScope,并且想知道这是否是现在处理事情的好方法。
此外,在 .Net 3.5 中,我假设还有其他方法可以做到这一点,比如 WCF?只是想知道是否有人可以将我指向一两篇文章。非常感谢。
TransactionScope 是一个好方法,只要你控制它。所有 ADO.Net 提供程序都知道 System.Transactions 对象,因此当在 TransactionScope 下操作时,它们将正确地登记到后端事务中。
有两个陷阱:
. 您可以使用事务的 IsolationLevel 属性确定现有事务的隔离级别。
从技术上讲,最后一点适用于使用任何资源管理器,但除了数据库连接之外,您不太可能使用任何其他 RM。如果你这样做了,那么加入分布式事务无论如何都是正确的行为。