MSDTC and Distributed Computing
while there are various articles on MSDTC, I can't seem to find some detailed explaination of MSDTC to figure 开发者_C百科out how I need to configure it for my particular scenario.
Here is my scenario. I have a few WCF services that are running on box A, a SQL-Server running on box B, and a test solution on box C. In my tests (Box C) I'm pretty much calling a few services (box B), doing some work that eventually writes to a database. When I run these tests using the SQL database on the same box as the tests (Box C), everything works great, and everybody is happy. However, once I just change the test solution to point to the SQL-server database on box-B, I get the exception:
Network access for Distributed Transaction Manager (MSDTC) has been disabled. Please enable DTC for network access in the security configuration for MSDTC using the Component Services Administrative tool.
One of the questions that I have is I don't have MSDTC enabled on the test box (Box C) so why isn't this exception being thrown when I run tests here with the database locally here? And if I need to enable MSDTC, do I need to enable it for all three boxes (A-B-C)?
Thanks!
MSDTC is enabled by default, but the network access is disabled.
So when you have cross machine talking it fails.
You will need to enable network. See this article.
http://technet.microsoft.com/en-us/library/cc753510%28WS.10%29.aspx
I had this same issue a week or so ago and it fixed it for me.
精彩评论