Can someone detail the changes made in .net 4 to the circums开发者_StackOverflow社区tances under which TransactionScope will (and will not) escalate to DTC? Or is everything the same as 3.5?
I can't find any documentation about changes (found this thread as I was looking for some myself), but it sure seems anecdotally that something that changed.
We had a .Net 3.5 app with about 100 unit tests that used TransactionScope. My team allows telecommuting, and I found that no matter what I did, these tests failed when I was working remotely, over VPN. Had no issues with them locally. Previous research I'd done indicated there were some issues with DTC over VPN, but it wasn't worth the hassle of digging deeper.
However, we upgraded the project to .Net 4.0 last month and since then I've had no issues with these tests over VPN. Could be a change in our VPN, I don't deny, but the timing is at least very coincidental.
This is not listed anywhere on MSDN as having been changed so I'm going to say it's the same.
As far as I can tell, there is no such changes. Why MS would break thousands of project which are using TransactionScope? Maybe you misunderstood something (or the source you were reading was not accurate), as not every dbms has TransactionScope's support and in that case, TS becomes a distributed transaction.
P.S. Sorry for my English :-)
精彩评论