以编程方式读取C#中的MS DTC事务组件服务超时

时间:2015-01-29 09:44:49

标签: c# transactions timeout msdtc component-services

我目前正在使用C#中的一个小应用程序来检查使用Microsoft DTC的事务的多个错误和超时设置。

我在CodeProject(http://www.codeproject.com/Articles/729805/MSDTC-Manager)找到了MSDTC Manager,这对我来说非常有帮助。它基于http://technet.microsoft.com/en-us/library/cc759136(v=ws.10).aspx

我还无法弄清楚,如何以编程方式(在C#中)读取/访问超时属性,该属性可以在组件服务中找到(Windows>运行> comexp.msc): 组件服务>电脑>我的电脑>属性>选项>交易超时

我已经尝试使用Sysinternals中的进程监视器,例如,将值从60更改为120,以跟踪注册表更改或任何其他类型的更改,但通过更改超时值,我得到数百行,但非他们是一个正确的国家。

有什么想法吗?非常感谢!

1 个答案:

答案 0 :(得分:2)

在视觉工作室

  1. 转到参考文献
  2. 转到COM类型库
  3. 添加对 COM + 1.0管理员类型库
  4. 的引用
  5. 使用类似于以下内容的代码

    var catalog = new COMAdmin.COMAdminCatalog();
    catalog.Connect(System.Environment.MachineName);
    var coll = (COMAdmin.ICatalogCollection)catalog.GetCollection("LocalComputer");
    coll.Populate();
    var catalogObject = (COMAdmin.ICatalogObject)coll.Item[0];
    var timout = catalogObject.Item[0].Value["TransactionTimeout"];