6

COM+ サーバー アプリケーションにサービス コンポーネントをインストールしています。リモート クライアントからインスタンスを作成したいと考えています。クライアントは、サーバー マシンの名前を動的に指定できる必要があります。どうすればいいですか?

アクティベーターを使用してみました:

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

しかし、私はこれを取得します:

System.Runtime.Remoting.RemotingException: URL 'サーバー' に接続するチャネル シンクを作成できません。適切なチャンネルが登録されていない可能性があります。System.Runtime.Remoting.RemotingServices.Unmarshal (型 classToProxy、文字列 url、オブジェクト データ) で

チャンネル登録は必要ですか?もしそうなら、どのように?

もう 1 つのアイデアは、Marshall.BindToMoniker を使用することですが、サーバー x 上の COM+ でホストされているリモート オブジェクトのモニカーを指定するにはどうすればよいでしょうか?

4

1 に答える 1

3

ユーレカ!これは機能します:

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

この質問に感謝します

于 2009-01-27T20:57:50.813 に答える