ITransaction::Commit can return “In doubt” (XACT_E_INDOUBT)

ITransaction::Commit can return XACT_E_INDOUBT, without giving you any information about the outcome of the transaction. This can happen if the connection between the MSDTC proxy and the TM was lost. The transaction may have committed or aborted. The MSDTC TM doesn’t provide you a way to query for transaction outcome based on transaction id. If…


The History of… Microsoft Windows

I always enjoyed reading history. I like to see how things evolved. Sometimes there are funny stories, sometimes there are sad stories. But there is always something to learn from history. It is sad we don’t have the time and physical capacity to learn the entire history of humanity. Now I wonder: oh really, what…


Isolation Levels

MSDTC, COM+ or EnterpriseServices are allowing you to specify an isolation level for transactions so that you can increase concurrency to improve performance and scalability. But, the value you set for the isolation level is used by MSDTC only to pass it to the resource manager(s), more like a hint rather than a restriction. It is…


More about buying online

I spent 4 hours looking on the web for a camcorder. In reality most of this time I was reading reviews about resellers. Until I found this PC World article: Web buyer beware. And all the research ended.   Now I know why those websites sell products with hundreds of dollars below the retail price….


Buying online

I’m looking around to buy a camcorder. I know what I want: a Sony DCR-TRV22 Handycam Mini DV Digital Camcorder. But I’m not decided from where to buy it. I’m looking at and I see the price range: $449.99 – $894.77 for buying it online. What I don’t understand is how a company can…


Enable Network DTC Access in Windows Server 2003

When you install Windows Server 2003, most of the services will be off by default, including MSDTC network access. If you are using COM+/Enterprise Services and [Transactions], you are most likely to hit errors when you want to go distributed: flow transactions to another computer, talk to a resource manager as SQL server on another…


XA transactions and Windows Server 2003

If you are using COM+/Enterprise Services components that talk to resource managers like Oracle or other XA RM, on Windows Server 2003 you need to make some additional steps to allow this scenario to work. This is due to a security change in MSDTC that requires you to register the XA DLL in registry. Please…


Server Activated ServicedComponent and Config Files

Yes, it is possible to specify a per-component application config when using a ServicedComponent with activation type set to Server Application. By default all Server Applications are sharing dllhost.exe.config located in %windir%\system32.  But there are cases when you need to have different configs for different Server Apps. For instance, an important scenario is to have…


What “Longhorn” brings in the transactions’ land (originally named “The word is out!”)

The word is out and nobody explains it better than Don Box: .  The future of transactional programming will be defined by System.Transactions, WS-AtomicTransactions, the new in-memory transaction manager, Kernel Transaction Manager, Transactional NTFS and so on. And this future is not that far.   [Originally posted Oct 28, 2003]


Hello World!

My name is Florin Lazar. I’m a member of XML Enterprise Services team at Microsoft. My main focus is making sure that our transaction services (MSDTC, System.Transactions etc) work as they should. Why blogging? Because I find it to be a great way to share my thoughts and perspective. I will NOT be the official company…