MarshalByRefObject.InitializeLifetimeService Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Przestroga
This Remoting API is not supported and throws PlatformNotSupportedException.
Uzyskuje obiekt usługi okresu istnienia w celu kontrolowania zasad okresu istnienia dla tego wystąpienia.
public:
virtual System::Object ^ InitializeLifetimeService();
[System.Obsolete("This Remoting API is not supported and throws PlatformNotSupportedException.", DiagnosticId="SYSLIB0010", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
public virtual object InitializeLifetimeService ();
public virtual object InitializeLifetimeService ();
[System.Security.SecurityCritical]
public virtual object InitializeLifetimeService ();
[<System.Obsolete("This Remoting API is not supported and throws PlatformNotSupportedException.", DiagnosticId="SYSLIB0010", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
abstract member InitializeLifetimeService : unit -> obj
override this.InitializeLifetimeService : unit -> obj
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
Zwraca
Obiekt typu ILease używany do kontrolowania zasad okresu istnienia dla tego wystąpienia. Jest to bieżący obiekt usługi okresu istnienia dla tego wystąpienia, jeśli istnieje; w przeciwnym razie nowy obiekt usługi okresu istnienia zainicjowany do wartości LeaseManagerPollTime właściwości.
- Atrybuty
Wyjątki
Bezpośredni obiekt wywołujący nie ma uprawnień do infrastruktury.
Tylko platformy .NET Core i .NET 5+: we wszystkich przypadkach.
Przykłady
Poniższy przykład kodu przedstawia tworzenie dzierżawy.
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
Uwagi
Ta metoda jest oznaczona jako przestarzała, począwszy od platformy .NET 5.
Aby uzyskać więcej informacji na temat usług okresów istnienia, zobacz klasę LifetimeServices .