2009-03-03 24 views
7

COM/ActiveXについての素晴らしい点の1つは、アウトプロセスEXEでした。 VBScriptやJScriptなどの他のプロセスで使用できる形式でメソッドとプロパティを公開するEXEを持つことができます。同時に、EXEは独自の機能を持つことができます。その機能は、タイプライブラリによって公開されている機能とは無関係です。.NETにout-of-process COM EXEと同等の機能がありますか?

.NETに相当するものは何ですか?

私は、スクリプト言語インタープリタ(MSScriptを使用)である既存のVB6プロジェクトと、他のスクリプト言語用のさまざまなツール機能のリソースを持っています。それを.NETに変換しようと提案されています。

これはうまくいくのでしょうか、それとも1つのアイテムを2つに分割することになりますか?

答えて

4

エンタープライズサービスでは、これを行うことができます。多くの例がありますが、A DLLHOSTプロセス

  • サービス
  • インプロセスライブラリ(これはあなたの他のコードと同じプロセスである)
    • :あなたはとしてCOMコンポーネントを実行することができますこれらについてのインターネット上で。それは何に降りてくることはある:

      • はあなたがGuidAttribute(とあなたのインターフェイスを飾るのServicedComponent
      • からderrivedする必要性をホストするインターフェース
      • コンポーネントをCOMに公開する必要があなたのクラスを飾りますこのことができます

      希望の属性)真(のComVisibleでCOMにさらされているインタフェースおよびクラスを飾る

    • )一意のGUIDを使用します。

    3

    .NET対応は.NET 2.0では.NET Remoting、3.0以降ではWCFです。ただし、COMオブジェクトと通信する必要がある場合は、代わりにCOMで公開されるオブジェクトを作成する必要があります。そこにはかなりの数のチュートリアルがあります。

    1

    これにはいくつかのオプションがあります。最も明白なのはserviced componentsです。これによりCOM +でマネージコードをホストして別のプロセスで実行することができますが、GAC/COM呼び出し可能などが必要です。

    関連する問題