【发布时间】:2009-12-08 16:11:42
【问题描述】:
我有一个 COM 接口来启动和使用程序。这在本地机器上效果很好。是否有可能通过网络在另一台机器上启动该程序,而无需在其上安装其他软件或对程序进行更改?
【问题讨论】:
-
谷歌“配置 DCOM”。你会发现的大多数东西都已经严重过时了。无法诊断的配置问题很常见。
我有一个 COM 接口来启动和使用程序。这在本地机器上效果很好。是否有可能通过网络在另一台机器上启动该程序,而无需在其上安装其他软件或对程序进行更改?
【问题讨论】:
DCOM 虽然您需要配置安全性。
在 C# 中,您可以像这样远程实例化对象:
var obj = Activator.CreateInstance(Type.GetTypeFromProgID("Acme.Server", "remotepc", true));
所以要实例化 VB Regex 库(以便它在别处运行)
dynamic re = Activator.CreateInstance(Type.GetTypeFromProgID("VBScript.RegExp", "remotepc", true));
re.IgnoreCase = true; //Check that we can set properties
re.Pattern = "^A";
var chk = (re.Execute("Apple").Count > 0) ? "ok" : "failed";
Console.WriteLine(chk);
【讨论】:
您也许可以使用 COM+。你可以在远程机器上create a COM+ application,然后在本地机器上create an installation package,最后deploy the application proxy。结果将允许您使用 COM 服务器,就像它是在本地安装一样,而无需更改您的代码。
【讨论】: