Obtains a lifetime service object to control the lifetime policy for this instance.
Namespace: System
Assembly: mscorlib (in mscorlib.dll)
Visual Basic (Declaration)
Public Overridable Function InitializeLifetimeService As Object
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
Return Value
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 LifetimeServices.LeaseManagerPollTime property.
| Exception type | Condition |
|---|
SecurityException | The immediate caller does not have infrastructure permission. |
For more information about lifetime services, see the LifetimeServices class.
The following code example demonstrates creating a 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
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
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.
.NET Framework
Supported in: 2.0, 1.1, 1.0