MarshalByRefObject.InitializeLifetimeService Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
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.