Share via


アクティベーション

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

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

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

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

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

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

参照

オブジェクトのアクティベーションと有効期間 | リモート処理可能オブジェクト | サーバー アクティベーション | クライアント アクティベーション