MarshalByRefObject.InitializeLifetimeService メソッド


このインスタンスの有効期間ポリシーを制御する有効期間サービス オブジェクトを取得します。Obtains a lifetime service object to control the lifetime policy for this instance.

 virtual System::Object ^ InitializeLifetimeService();
public virtual object InitializeLifetimeService ();
public virtual object InitializeLifetimeService ();
abstract member InitializeLifetimeService : unit -> obj
override this.InitializeLifetimeService : unit -> obj
abstract member InitializeLifetimeService : unit -> obj
override this.InitializeLifetimeService : unit -> obj
Public Overridable Function InitializeLifetimeService () As Object



対象のインスタンスの有効期間ポリシーを制御するときに使用する、ILease 型のオブジェクト。An object of type ILease used to control the lifetime policy for this instance. 存在する場合は、このインスタンスの現在の有効期間サービス オブジェクトです。それ以外の場合は、LeaseManagerPollTime プロパティの値に初期化された新しい有効期間サービス オブジェクトです。This is the current lifetime service object for this instance if one exists; otherwise, a new lifetime service object initialized to the value of the LeaseManagerPollTime property.



直前の呼び出し元に、インフラストラクチャ アクセス許可がありません。The immediate caller does not have infrastructure permission.

.NET Core および .NET 5 以降のみ:すべての場合。.NET Core and .NET 5+ only: In all cases.

リースを作成するコード例を次に示します。The following code example demonstrates creating a lease.

public ref class MyClass: public MarshalByRefObject
   virtual Object^ InitializeLifetimeService() override
      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;


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;
Public Class LSClass
    Inherits MarshalByRefObject
    <SecurityPermissionAttribute(SecurityAction.Demand, _
                                 Flags:=SecurityPermissionFlag.Infrastructure)> _
    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


このメソッドは、.NET 5.0 以降、古い形式に設定されています。This method is marked obsolete starting in .NET 5.0.

有効期間サービスの詳細については、クラスを参照してください LifetimeServicesFor more information about lifetime services, see the LifetimeServices class.