代码之家  ›  专栏  ›  技术社区  ›  Daniel Fortunov

如何从.NET在远程服务器上重新启动COM+应用程序?

  •  3
  • Daniel Fortunov  · 技术社区  · 15 年前

    如何从.NET中的代码以编程方式重新启动远程服务器上运行的COM+应用程序?

    1 回复  |  直到 13 年前
        1
  •  7
  •   Vizu    15 年前

    您必须通过COM互操作使用ComAdmin API。

    在Windows\System32\Com\ComAdmin.dll上放置一个引用,然后:

    COMAdmin.COMAdminCatalog catalog = new COMAdmin.COMAdminCatalogClass();
    catalog.Connect(servername);
    catalog.ShutdownApplication(AppNameOrAppID);
    

    您可以在MSDN中找到ComAdmin参考 here .

    编辑(一些注释):

    事实上,你可以写作

    COMAdmin.COMAdminCatalog catalog = new COMAdmin.COMAdminCatalog();
    

    newobj instance void [Interop.COMAdmin]COMAdmin.COMAdminCatalogClass::.ctor()
    

    所以它不知怎么地发现ComAdminCatalog类必须实例化,这很奇怪,也有点混乱。如果有人知道它是如何发生的,请发表评论。