System.Runtime.Remoting.Lifetime 名前空間
System.Runtime.Remoting.Lifetime 名前空間は、リモート オブジェクトの有効期間を管理するクラスを格納します。
従来、配布されたガベージ コレクションは、オブジェクトの有効期間を制御するために参照カウントと ping を使用していました。この方法は、サービスごとのクライアント数が少ない場合には機能しますが、千単位のクライアント数の場合にはうまく機能しません。リモート処理有効期間サービスは、リースを各サービスに関連付け、そのリース期間が切れると関連付けられたサービスを削除します。有効期間サービスは、従来の配布されたガベージ コレクタの機能を実行できます。さらに、サーバーごとのクライアント数が増加した場合にも対応できます。
各アプリケーション ドメインは、ドメイン内のリースを制御するリース マネージャを格納します。すべてのリースは、リース期間が切れていないか定期的にチェックされます。リース期間が切れていた場合は、1 つ以上のリース スポンサが呼び出され、そのリースを更新します。リースの更新を決定するスポンサがない場合は、リース マネージャがそのリースを削除し、ガベージ コレクタによってオブジェクトを収集できます。リース マネージャは、残りのリース期間で並べ替えられたリースのリース リストを維持します。残りの期間が最も短いリースは、リストの一番上に格納されます。
クラス
クラス | 説明 |
---|---|
ClientSponsor | 有効期間スポンサ クラスの既定の実装を提供します。 |
LifetimeServices | .NET リモート処理有効期間サービスを制御します。 |
インターフェイス
インターフェイス | 説明 |
---|---|
ILease | リモート処理有効期間サービスによって使用される有効期間リース オブジェクトを定義します。 |
ISponsor | このインターフェイスを実装するオブジェクトが、有効期間リース スポンサとなることを示します。 |
列挙体
列挙体 | 説明 |
---|---|
LeaseState | 有効期間リースの有効なリースのステータスを示します。 |