Distributed Transaction problem

Hi,

I'm having problems getting transactions to work correctly in a state machine workflow. Within the TransactionScope activity I have a Code activity that does a couple of database writes, another Code activity that sends out a notification email, and a SetState activity, which I want to be executed only if the rest of the code executes correctly. The WF runtime and DB are hosted on different servers.

After fixing a "The partner transaction manager has disabled its support for remote/network transactions" error by enabling the MSDTC stuff on both machines, I'm now getting a new error:

"The transaction has already been implicitly or explicitly committed or aborted (Exception from HRESULT: 0x8004D00E)"

Although I've found seveal references to this error on this and other forums, I haven't actually found an explanation for why it happens, or how to get around it.

Any ideas or suggestions very gratefully received!

Cheers,

Dave



Answer this question

Distributed Transaction problem

  • Vijay R

    We had similar problems, first it was the firewall so I debugged that using DTC ping. We got DTC ping to work but our app was still broken, I traced that down to a difference in the DTC implementation between server 2000 and server 2003. Basically 2003 was expecting authentications and 2000 wasn't complying. As a temporary workaround I disabled the security on the 2003 box (which was a dev workstation), you do this under the MDTC properties.

  • Benny Chang

    What OS the client on and what OS is the server on
    Is the client behind a firewall

  • lnetanel

    Thank you! It was the firewall.. much time saved.

    Cheers,

    Dave


  • Distributed Transaction problem