リモートオブジェクトのリースを延長するクライアントアプリでは、通常、次の呼び出しによってオブジェクトのILeaseインターフェイスを取得します。
ILease lease = (ILease)RemotingServices.GetLifetimeService( remoteObject );
次に、カスタムスポンサーオブジェクトを渡します
lease.Register( customSponsor );
カスタムスポンサークラスは次のようになります。
private class CustomSponsor : MarshalByRefObject, ISponsor
{
public TimeSpan Renewal(ILease lease)
{
Debug.Assert(lease.CurrentState == LeaseState.Active);
//Renew lease by 5 minutes
return TimeSpan.FromMinutes(5);
}
}
詳細については、リースとスポンサーシップに関するこの役立つMSDNの記事を確認してください。
http://msdn.microsoft.com/en-us/magazine/cc300474.aspx
リンクは機能しなくなりました。2003年12月号に掲載されていましたが、同じページからCHM形式でダウンロードできます。
ウェイバックマシンのリンクはここにあります:
https://web.archive.org/web/20080906214332/http://msdn.microsoft.com/en-us/magazine/cc300474.aspx