2009-10-05 184 views
1

我想知道是否可以创建我自己的服务,以便在ADO交易中使用。例如,我想向ADO交易添加任意可交易服务

  1. 做一些数据库更新在ADO交易
  2. 使一些任意服务的一些任意的更新,我创建
  3. 提交或回滚事务,并有我的任意服务了解交易已被提交或回滚,并采取适当的行动

基本上,我想实现Commit()和Rollback()方法,但我无法弄清楚如何“加入”到ADO交易。

干杯,非常感谢。

回答

0

您使用.Net事务,而不是ADO事务。 ADO知道System.Transactions基础结构,并且在TransactionScope下,它会将所有ADO操作都纳入该系统事务中。

要添加您自己的自定义操作,您必须创建一个新的资源管理器,该类实现IEnlistmentNotifications。建立一个RM并不是微不足道的,你必须理解像​​与Volatile enlistment,Two Phase Commit,Promotable Single Phase Enlistmen t等概念等等。

祝你好运。

+0

完美 - 谢谢! – Alex