我在远程服务器上有一个小的COM +组件作为服务。
我正在尝试使用以下方法执行此组件的方法:
Type type = Type.GetTypeFromProgID("ComPlusTest.ComTestClass",serverName);
// Create Service
Object service = Activator.CreateInstance(type);
// Execute Method
String result = service.GetType().InvokeMember("LaunchPackage",
BindingFlags.InvokeMethod, null, parameters, null).ToString();
该类型返回null。
这样做的最佳方式是什么?
服务器是Windows 2003 Enterprise,该服务是一个封装为COM +的.NET组件(我知道我不必这样做,但目的是使用.NET组件迭代旧版App)这样做的目的只是为了测试.NET COM +组件的工作原理。
提前致谢!
答案 0 :(得分:1)
我没有尝试过,但你的方法很有意义。它看起来与Interoperating without Proxies非常相似,但具有远程服务器。
也许您遇到了其他一些问题(例如配置或权限)?
一些故障排除建议:
尝试直接在“远程”服务器上运行测试程序。
此外,您是否尝试将第一行更改为:
Type type = Type.GetTypeFromProgID("ComPlusTest.ComTestClass",serverName, true);
如果遇到错误,这应该抛出异常,并且可能会为您提供有关您遇到的特定问题的更多信息。
答案 1 :(得分:1)
我已经解决了这个问题。 COM +未正确安装在服务器上。我错过了在.NET Framework配置控制台中配置程序集的步骤。
步骤如下:
我多么感激你回答这个问题的时间。
谢谢!