c# - MSDTC: Communication with the underlying transaction manager has failed -


I have a WinForms / WCF / SQLServer app where I'm trying to use the MSDTC transaction: < / P>

  using the system. Behavior; // ... var Transaction = New Transaction Option {Isolation Level = Isolation (Var scope = new transaction scope (transaction Sescopopeshn. Required, Tronsopsn)) {// ... if (everything_is_ok) scope.Complete (); }   

Box on my Dev, where there are server and client processes on the same machine, it works fine. But when I was hanging to the scope.Complete is called (), the client timeout period (2 minutes) And then I find:

Flushed transactions can not be unmarshaled. The following exception occurred: Communication with the built-in transaction manager failed.

What could be the reason for this?

I have spent a few hours trying to solve this problem under Windows 7. In the end it worked, how I did it:

  1. Enable MSDTC and inbound / outbound Allow transactions (through the Control Panel)
  2. - just follow the guide
  3. allow ports defined for opening your firewall (2) (if you use one)
  4. the Msditisi through Windows firewall Allow - New Regulation for Inbound Connection for MSDTC XE Add (% should systemroot% \ system32)

    This is probably not the best solution but the only one who worked in my case.

    EDIT: After another issue with MSDT under Windows 7 SP1, I came to know that you need to do two things to do this work.

    1. Add to Host Mapping between the IP and NetBIOS names of the server.
    2. HKEY_LOCAL_MACHINE \ SOFTWARE \ Policies \ Microsoft \ add two keys on Windows or edit NT \ RPC: "RestrictRemoteClients" = dword: 00000000 "EnableAuthEpResolution" = dword: 00000000 < / Div>

Comments

Popular posts from this blog

mysql - BLOB/TEXT column 'value' used in key specification without a key length -

c# - Using Vici cool Storage with monodroid -

python - referencing a variable in another function? -