MarshalByRefObject.InitializeLifetimeService Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Perhatian
This Remoting API is not supported and throws PlatformNotSupportedException.
Mendapatkan objek layanan seumur hidup untuk mengontrol kebijakan seumur hidup untuk instans ini.
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
Mengembalikan
Objek jenis ILease yang digunakan untuk mengontrol kebijakan seumur hidup untuk instans ini. Ini adalah objek layanan seumur hidup saat ini untuk instans ini jika ada; jika tidak, objek layanan seumur hidup baru diinisialisasi ke nilai LeaseManagerPollTime properti.
- Atribut
Pengecualian
Pemanggil langsung tidak memiliki izin infrastruktur.
.NET Core dan .NET 5+ saja: Dalam semua kasus.
Contoh
Contoh kode berikut menunjukkan pembuatan sewa.
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
Keterangan
Metode ini ditandai usang mulai dari .NET 5.
Untuk informasi selengkapnya tentang layanan seumur hidup, lihat LifetimeServices kelas .