组件分为三个层次:外观层/业务层/数据访问层在外观层分别调用业务层的两个组件,而业务层的这两个组件分别有自己的事务,如何实现这个嵌套事务

解决方案 »

  1.   

    你的业务层的两个组件的事务是平行的关系,他们的之间没有必要有联系。要实现他们事务的同步,需要在外观层开始一个根上下文,然后在业务层中的两个事务引用这个根上下文,如果两个事务中的任何一个失败,就返回一个错误给根上下文,然后用根上下文执行setabort,这样就可以了。
      

  2.   

    使用上下文控制事务(BA)
    拿VB来说
    在你建立DLL的时候,你可以选择五种状态,因为你要使用事务,而且是事务嵌套.
    你要关心的是原子事务与上层事的一致.你在建立VB程序的时候(COM组件),如果你要定义他是原子事务,那么你必须定义DLL类型是supported的类型,如果是原发型事务选择required或者requires new的类型.然后通过Set MyTran = GetObjectContext()控制事务的流向.