代码之家  ›  专栏  ›  技术社区  ›  Carlos A. Ibarra

从C#客户端调用远程COM+ServicedComponent

  •  6
  • Carlos A. Ibarra  · 技术社区  · 17 年前

    我在COM+服务器应用程序中安装了一个服务组件。我想从远程客户端创建一个实例。客户端需要能够动态指定服务器的名称。我该怎么做?

    我尝试使用激活器:

                (XSLTransComponent.XSLTransformer)Activator.GetObject(
                            typeof(XSLTransComponent.XSLTransformer),
                            serverName
                            );
    

    但我明白了:

    System.Runtime.Remoting.RemotingException:无法创建连接到URL“服务器”的通道接收器。可能尚未注册适当的频道。

    另一个想法是使用Marshall.BindToMoniker,但是如何为托管在服务器x上的COM+上的远程对象指定名字对象?

    1 回复  |  直到 17 年前
        1
  •  3
  •   Carlos A. Ibarra    17 年前

    尤里卡!这项工作:

    string serverName = serverTextBox.Text;
    Type remote = Type.GetTypeFromProgID("XSLTransComponent.XSLTransformer", serverName);
    return (XSLTransComponent.XSLTransformer)Activator.CreateInstance(remote);
    

    this question

    推荐文章