リモート オブジェクトのアクティベーション

このトピックの対象は、既存のアプリケーションとの下位互換性のために残されているレガシ テクノロジに特定されています。新規の開発には、このトピックを適用しないでください。分散アプリケーションは、現在は Windows Communication Foundation (WCF) を使用して開発する必要があります。

参照渡しのマーシャリング オブジェクトのアクティベーションには、次の 2 種類があります。

  • サーバー アクティベーション

    サーバー側でアクティブ化されるオブジェクトは、必要な場合にのみサーバーによって作成されます。これらのオブジェクトは、new または Activator.GetObject を呼び出してクライアント プロキシを作成するときに作成されるのではなく、新しく作成されたプロキシ オブジェクトでクライアントが最初のメソッドを呼び出すときに作成されます。詳細については、「サーバー アクティベーション」を参照してください。

    WellKnownObjectMode 列挙体を使用して、サーバー側でアクティブ化されるオブジェクトを Singleton オブジェクトまたは SingleCall オブジェクトとして使用します。Singleton オブジェクトは、オブジェクトに対するクライアントの数に関係なく、インスタンスは常に 1 つしか作成されません。また、既定の有効期間を持っています (クライアントは、有効期間リース システムを使用して Singleton インスタンスの有効期間に参加することができます。詳細については、「有効期間リース」を参照してください)。SingleCall オブジェクトとしてオブジェクトを構成すると、クライアント メソッドを呼び出すたびに新しいオブジェクトが作成されます。クライアントは各呼び出しで新しいインスタンスへの参照を取得するため、SingleCall 型は有効期間リース システムに参加しません。

  • クライアント アクティベーション

    クライアント側でアクティブ化されるオブジェクトは、クライアントが new または Activator.CreateInstance を呼び出すとサーバーに作成されます。クライアント自体は、有効期間リース システムを使用してこれらのインスタンスの有効期間に参加できます。詳細については、「クライアント アクティベーション」および「有効期間リース」を参照してください。

参照

処理手順

方法 : クライアント側でアクティブ化される型のインスタンスを作成する

概念

サーバー アクティベーション
クライアント アクティベーション

その他のリソース

オブジェクトのアクティベーションと有効期間