Where's my road?

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

The System.EnterpriseServices namespace in .net let us create enterprise applications more easily. However, the transaction support would be disabled if the Distributed Transaction Coordinator service does not properly run. Calling System.EnterpriseServices.ServiceDomain.Enter will cause a COMException thrown: System.Runtime.InteropServices.COMException : 事务管理器不可用。

Generally, the Distributed Transaction Coordinator service should be started under NT Authority\Network Service account. Further more, the files located in %Systemroot%/system32 directory may not be marked as read-only, since some system services, including the Distributed Transaction Coordinator service, may need write access to some of the files.

If the Distributed Transaction Coordinator service runs under other accounts, there may be some errors when using System.EnterpriseServices. You need to put the service to start under NT Authority\Network Service with a blank password. And if necessary, open cmd and start command msdtc -resetlog and restart the operating system.

posted on 2005-05-16 11:03  Lin  阅读(1222)  评论(0编辑  收藏  举报