MarshalByRefObject.InitializeLifetimeService Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Attenzione
This Remoting API is not supported and throws PlatformNotSupportedException.
Ottiene un oggetto servizio di durata per controllare i criteri di durata per questa istanza.
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
Restituisce
Oggetto di tipo ILease utilizzato per il controllo dei criteri di durata per l'istanza. Si tratta dell'oggetto servizio di durata corrente per l'istanza, se esistente; in caso contrario, ne viene inizializzato uno nuovo sul valore della proprietà LeaseManagerPollTime.
- Attributi
Eccezioni
Il chiamante immediato non dispone dell'autorizzazione di infrastruttura.
Solo .NET Core e .NET 5+: In tutti i casi.
Esempio
Nell'esempio di codice seguente viene illustrata la creazione di un 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
{
[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 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
Commenti
Questo metodo è contrassegnato come obsoleto a partire da .NET 5.
Per altre informazioni sui servizi di durata, vedere la LifetimeServices classe .