MarshalByRefObject.InitializeLifetimeService メソッド
対象のインスタンスの有効期間ポリシーを制御する、有効期間サービス オブジェクトを取得します。
Public Overridable Function InitializeLifetimeService() As Object
[C#]
public virtual object InitializeLifetimeService();
[C++]
public: virtual Object* InitializeLifetimeService();
[JScript]
public function InitializeLifetimeService() : Object;
戻り値
対象のインスタンスの有効期間ポリシーを制御するときに使用する、 ILease 型のオブジェクト。存在する場合は、このインスタンスの現在の有効期間サービス オブジェクトです。それ以外の場合は、 LifetimeServices.LeaseManagerPollTime プロパティの値に初期化された新しい有効期間サービス オブジェクトです。
例外
例外の種類 | 条件 |
---|---|
SecurityException | 直前の呼び出し元に、インフラストラクチャ アクセス許可がありません。 |
解説
有効期間サービスの詳細については、 LifetimeServices クラスのトピックを参照してください。
使用例
[Visual Basic, C#, C++] リースを作成するコード例を次に示します。
Public Class LSClass
Inherits MarshalByRefObject
Public Overrides Function InitializeLifetimeService() As Object
Dim lease As ILease = CType(MyBase.InitializeLifetimeService(), ILease)
If lease.CurrentState = LeaseState.Initial Then
lease.InitialLeaseTime = TimeSpan.FromMinutes(1)
lease.SponsorshipTimeout = TimeSpan.FromMinutes(2)
lease.RenewOnCallTime = TimeSpan.FromSeconds(2)
End If
Return lease
End Function
Public Shared Sub Main()
' The main thread processing is here.
End Sub
End Class
[C#]
public class MyClass : MarshalByRefObject
{
public override Object InitializeLifetimeService()
{
ILease lease = (ILease)base.InitializeLifetimeService();
if (lease.CurrentState == LeaseState.Initial)
{
lease.InitialLeaseTime = TimeSpan.FromMinutes(1);
lease.SponsorshipTimeout = TimeSpan.FromMinutes(2);
lease.RenewOnCallTime = TimeSpan.FromSeconds(2);
}
return lease;
}
}
[C++]
public __gc class MyClass : public MarshalByRefObject
{
public:
Object* InitializeLifetimeService()
{
ILease* lease = dynamic_cast<ILease*>(MarshalByRefObject::InitializeLifetimeService());
if (lease->CurrentState == LeaseState::Initial)
{
lease->InitialLeaseTime = TimeSpan::FromMinutes(1);
lease->SponsorshipTimeout = TimeSpan::FromMinutes(2);
lease->RenewOnCallTime = TimeSpan::FromSeconds(2);
}
return lease;
}
};
[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ
.NET Framework セキュリティ:
- SecurityPermission (インフラストラクチャ コードを操作するために必要なアクセス許可) SecurityPermissionFlag.Infrastructure (関連する列挙体)
参照
MarshalByRefObject クラス | MarshalByRefObject メンバ | System 名前空間