将任意可交易服务添加到ADO事务

时间:2009-10-05 19:14:28

标签: ado.net transactions

我想知道是否可以创建自己的服务,我可以在ADO事务中使用它。例如,我想

  1. 在ADO事务中进行一些数据库更新
  2. 在我创建的某个任意服务中进行一些任意更新
  3. 提交或回滚事务,让我的任意服务理解事务已提交或回滚,并采取适当的操作
  4. 基本上,我想自己实现Commit()和Rollback()方法,但我无法弄清楚如何将它“加入”到ADO事务中。

    干杯,非常感谢。

1 个答案:

答案 0 :(得分:0)

您使用.Net交易,而不是ADO交易。 ADO知道System.Transactions基础结构,而在TransactionScope下,它会将所有ADO操作登记到该系统事务中。

要添加自己的自定义操作,您必须创建一个新的资源管理器,即实现IEnlistmentNotifications的类。建立一个RM并不简单,你必须理解Durable enlistmentVolatile enlistmentTwo Phase CommitPromotable Single Phase Enlistmen t等概念,等等。

祝你好运。