MarshalByRefObject.InitializeLifetimeService Methode

Definitie

Hiermee haalt u een levensduurserviceobject op om het levensduurbeleid voor dit exemplaar te beheren.

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

Retouren

Een object van het type ILease dat wordt gebruikt om het levensduurbeleid voor dit exemplaar te beheren. Dit is het huidige levensduurserviceobject voor dit exemplaar als er een bestaat; anders wordt een nieuw serviceobject voor de levensduur geïnitialiseerd naar de waarde van de LeaseManagerPollTime eigenschap.

Kenmerken

Uitzonderingen

De directe beller heeft geen infrastructuurmachtiging.

.NET Core en .NET 5+ alleen: in alle gevallen.

Voorbeelden

In het volgende codevoorbeeld ziet u hoe u een lease maakt.

public ref class MyClass: public MarshalByRefObject
{
public:
   
   [System::Security::Permissions::SecurityPermissionAttribute
   (System::Security::Permissions::SecurityAction::Demand,
   Flags=System::Security::Permissions::SecurityPermissionFlag::Infrastructure)]
   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;
  }
}
type MyClass() =
    inherit MarshalByRefObject()
   
    override _.InitializeLifetimeService() =
        let lease = base.InitializeLifetimeService() :?> ILease
        if lease.CurrentState = LeaseState.Initial then
            lease.InitialLeaseTime <- TimeSpan.FromMinutes 1
            lease.SponsorshipTimeout <- TimeSpan.FromMinutes 2
            lease.RenewOnCallTime <- TimeSpan.FromSeconds 2
        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

Opmerkingen

Deze methode is gemarkeerd als verouderd vanaf .NET 5.

Zie de LifetimeServices klasse voor meer informatie over levensduurservices.

Van toepassing op