ILease インターフェイス


リモート処理有効期間サービスによって使用される有効期間リース オブジェクトを定義します。Defines a lifetime lease object that is used by the remoting lifetime service.

public interface class ILease
public interface ILease
public interface ILease
type ILease = interface
type ILease = interface
Public Interface ILease


サーバーアプリケーションを削除できる場合は、分散ガベージコレクションを制御します。Distributed garbage collection controls when server applications can be deleted. 従来、分散ガベージコレクションでは、制御のために参照カウントと ping が使用されていました。Traditionally, distributed garbage collection uses reference counts and pinging for control. これは、オブジェクトごとに数千のクライアントがある場合に適していますが、各オブジェクトに数千のクライアントがある場合はうまく機能しません。This works well when there are a few clients per object, but does not work well when there are thousands of clients per each object. 有効期間サービスは、従来の分散ガベージコレクターの機能を引き受けることができ、クライアントの数が増えると適切にスケールされます。The lifetime service can assume the function of a traditional distributed garbage collector, and scales well when the number of clients increases.

有効期間サービスは、リモートでアクティブ化される各オブジェクトにリースを関連付けます。The lifetime service associates a lease with each remotely activated object. リースが期限切れになると、オブジェクトは削除されます。When the lease expires, the object is removed. リースでは、オブジェクトの有効期間が無期限であることを指定できます。A lease can specify that an object has an infinite lifetime.

AppDomain には、ドメイン内のリースを管理するリースマネージャーが含まれています。Each AppDomain contains a lease manager that administers the leases in the domain. リースマネージャーは、時間の有効期限についてリースを定期的に調べます。The lease manager periodically examines the leases for time expiration. リースの有効期限が切れている場合は、リースへの参照を削除するか、1つまたは複数のリーススポンサを呼び出して更新することにより、リースを取り消すことができます。If a lease has expired, it can either be canceled by removing its reference to the lease, or renewed by invoking one or more of the lease's sponsors.

リースには、そのポリシーを決定するプロパティと、リース時間を更新するメソッドが含まれています。A lease contains properties that determine its policies, and methods that renew the lease time. リースは、インターフェイスを公開し ILease ます。The lease exposes the ILease interface.

インターフェイスの使用方法を示す例については、 ILease有効期間」を参照してください。For an example showing how to use the ILease interface see Lifetimes.



リースの残り時間を取得します。Gets the amount of time remaining on the lease.


リースの現在の LeaseState を取得します。Gets the current LeaseState of the lease.


リースの初期時間を取得または設定します。Gets or sets the initial time for the lease.


リモート オブジェクトに対する呼び出しによって、CurrentLeaseTime が更新されるのにかかる時間を取得または設定します。Gets or sets the amount of time by which a call to the remote object renews the CurrentLeaseTime.


スポンサがリースの更新時間を返すまで待機する時間を取得または設定します。Gets or sets the amount of time to wait for a sponsor to return with a lease renewal time.



リースを更新せずにそのリースのスポンサを登録します。Registers a sponsor for the lease without renewing the lease.

Register(ISponsor, TimeSpan)

リースのスポンサを登録し、指定した TimeSpan で更新します。Registers a sponsor for the lease, and renews it by the specified TimeSpan.


指定した時間間隔でリースを更新します。Renews a lease for the specified time.


スポンサーの一覧から、スポンサーを削除します。Removes a sponsor from the sponsor list.