需要用到Attribut,在组件中加入[Transaction(TransactionOption.Required)] ,该组件必须要用强名字

解决方案 »

  1.   

    需要用到Attribut,在组件中加入[Transaction(TransactionOption.Required)]
      

  2.   

    如果想把MSMQ也放在事务中,必须使用DTC
    .net与com+配合,比较麻烦除了楼上说的,还需要:
    注册到com+中的类应当继承ServicedComponent,
    引用System.Runtime.InteropServices(这个很重要)。
    要把你用到的类声明为可序列化,有些情况甚至还要另外做些可序列化的工作。
    强名是必需的,因为你的dll是要注册到gac中的。
    接口的参数定义时应注意,有时要声明为ref或out的
    注册到com+中,还要注意应用的激活类型
    等等
    我也记不大清楚,写得有些乱,详细的可以参考msdn