Robert Hurlbut talks here about Paul Fallon's comment that Enterprise Services will get Transaction Promotion and Delegation support. I agree this is great news. I'm already very excited about System.Transactions, as the API is extremely nice, and we're planning on using it for the project we are about to begin to control transactional support across plugins attached to an event-driven processing pipeline for the application.

Robert also asks: "I noticed recently through Reflector that Systems.Transactions references System.EnterpriseServices in its assembly (Systems.Transactions.dll). I know that S.T uses managed calls to MSDTC when a transaction has been promoted to a full distributed transaction, but I wonder if ES is still in the mix somehow as a ServicedComponent wrapper?"

Reflector also has this really cool feature that if you right click on a referenced assembly, you can select the View Imports option and it will show you all the classes/methods that are used from that assembly. Here's what it shows for Beta 2 System.Transactions/System.EnterpriseServices:

System.EnterpriseServices.ContextUtil.get_IsInTransaction() : Boolean
System.EnterpriseServices.ContextUtil.get_SystemTransaction() : Transaction
System.EnterpriseServices.ContextUtil.IsDefaultContext() : Boolean
System.EnterpriseServices.ServiceConfig
System.EnterpriseServices.ServiceConfig..ctor()
System.EnterpriseServices.ServiceConfig.set_BringYourOwnSystemTransaction(Transaction) : Void
System.EnterpriseServices.ServiceConfig.set_Synchronization(SynchronizationOption) : Void
System.EnterpriseServices.ServiceDomain.Enter(ServiceConfig) : Void
System.EnterpriseServices.ServiceDomain.Leave() : TransactionStatus
System.EnterpriseServices.SynchronizationOption
System.EnterpriseServices.TransactionStatus


Tomas Restrepo

Software developer located in Colombia. Sr. PFE at Microsoft.