Note

Access to this page requires authorization. You can try signing in or .

Access to this page requires authorization. You can try .

MarshalByRefObject.InitializeLifetimeService Method

Definition

Namespace:
System
Assemblies:
netstandard.dll, System.Runtime.dll
Assembly:
System.Runtime.dll
Assembly:
mscorlib.dll
Assembly:
netstandard.dll
Source:
MarshalByRefObject.cs
Source:
MarshalByRefObject.cs
Source:
MarshalByRefObject.cs
Source:
MarshalByRefObject.cs
Source:
MarshalByRefObject.cs

Important

Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.

Caution

This Remoting API is not supported and throws PlatformNotSupportedException.

Obtains a lifetime service object to control the lifetime policy for this instance.

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

Returns

An object of type ILease used to control the lifetime policy for this instance. 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.

Attributes

Exceptions

The immediate caller does not have infrastructure permission.

.NET Core and .NET 5+ only: In all cases.

Examples

The following code example demonstrates creating a 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 : 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

Remarks

This method is marked obsolete starting in .NET 5.

For more information about lifetime services, see the LifetimeServices class.

Applies to


Feedback

Was this page helpful?