事务是一组相关的任务,作为独立于其他任务的独立单元成功(提交)或失败(中止)。分布式事务是影响多个资源的事务。要提交分布式事务,所有参与者都必须保证对数据的任何更改是永久的。不论系统崩溃或是发生其他无法预料的事件,更改都必须是持久的。即使只有一个参与者无法保证这一点,整个事务也将失败,在事务范围内对数据的任何更改均将回滚。
使用 System.Transactions
在 .NET Framework 中,分布式事务通过 System.Transactions 命名空间中的 API 进行管理。如果涉及多个永久资源管理器,System.Transactions API 会将分布式事务处理委托给事务监视器,例如 Microsoft 分布式事务协调程序 (MS DTC)。有关更多信息,请参见事务基础知识。
ADO.NET 2.0 引入了对使用 EnlistTransaction 方法在分布式事务中进行登记的支持,该方法会登记 Transaction 实例中的连接。在以前版本的 ADO.NET 中,分布式事务中的显式登记使用连接的 EnlistDistributedTransaction 方法执行,以登记