MarshalByRefObject.InitializeLifetimeService-Methode

Ruft ein Lebensdauerdienstobjekt ab, mit dem die Lebensdauerrichtlinien für diese Instanz gesteuert werden können.

Namespace: System
Assembly: mscorlib (in mscorlib.dll)

Syntax

'Declaration
Public Overridable Function InitializeLifetimeService As Object
'Usage
Dim instance As MarshalByRefObject
Dim returnValue As Object

returnValue = instance.InitializeLifetimeService
public virtual Object InitializeLifetimeService ()
public:
virtual Object^ InitializeLifetimeService ()
public Object InitializeLifetimeService ()
public function InitializeLifetimeService () : Object

Rückgabewert

Ein Objekt vom Typ ILease, das zur Steuerung der Lebensdauerrichtlinien für diese Instanz verwendet wird. Dies ist das aktuelle Lebensdauerdienstobjekt für diese Instanz, sofern vorhanden, bzw. ein neues Lebensdauerdienstobjekt, das mit dem Wert der LifetimeServices.LeaseManagerPollTime-Eigenschaft initialisiert wurde.

Ausnahmen

Ausnahmetyp Bedingung

SecurityException

Der direkte Aufrufer verfügt nicht über die Berechtigung für die Infrastruktur.

Hinweise

Weitere Informationen über Lebensdauerdienste finden Sie unter LifetimeServices-Klasse.

Beispiel

Das folgende Codebeispiel veranschaulicht das Erstellen eines 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
public class MyClass : MarshalByRefObject
{
  [SecurityPermissionAttribute(SecurityAction.Demand, 
                               Flags=SecurityPermissionFlag.Infrastructure)]
  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 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 extends MarshalByRefObject
{
    /** @attribute System.Security.Permissions.SecurityPermissionAttribute(System.Security.
        Permissions.SecurityAction.Demand, Flags=System.Security.Permissions.SecurityPermissionFlag.Infrastructure)
     */
    public Object InitializeLifetimeService()
    {
        ILease lease = (ILease)(super.InitializeLifetimeService());
        if (lease.get_CurrentState().Equals(LeaseState.Initial)) {
            lease.set_InitialLeaseTime(TimeSpan.FromMinutes(1));
            lease.set_SponsorshipTimeout(TimeSpan.FromMinutes(2));
            lease.set_RenewOnCallTime(TimeSpan.FromSeconds(2));
        }
        return lease;
    } //InitializeLifetimeService
} //MyClass

.NET Framework-Sicherheit

Plattformen

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

Siehe auch

Referenz

MarshalByRefObject-Klasse
MarshalByRefObject-Member
System-Namespace