System.Runtime.Remoting.Lifetime Spazio dei nomi

Contiene classi che consentono la gestione della durata degli oggetti remoti.

Classi

ClientSponsor

Fornisce un'implementazione predefinita per una classe di sponsor di durata.

LifetimeServices

Controlla i servizi remoti di durata .NET.

Interfacce

ILease

Definisce un oggetto lease di durata utilizzato dal servizio remoto di durata.

ISponsor

Indica che l'implementatore intende essere sponsor di lease di durata.

Enumerazioni

LeaseState

Indica i possibili stati di un lease di durata.

Commenti

In genere, la Garbage Collection distribuita usa i conteggi dei riferimenti e il ping per il controllo sulla durata degli oggetti. Questo funziona bene quando sono presenti alcuni client per servizio, ma non è scalabile correttamente quando sono presenti migliaia di client per servizio. Il servizio di durata remota associa un lease a ogni servizio ed elimina un servizio alla scadenza del tempo di lease. Il servizio di durata può assumere la funzione di un Garbage Collector distribuito tradizionale e si adatta anche quando aumenta il numero di client per server.

Ogni dominio applicazione contiene un gestore lease responsabile del controllo dei lease nel relativo dominio. Tutti i lease vengono esaminati periodicamente per i tempi di lease scaduti. Se un lease è scaduto, uno o più sponsor del lease vengono richiamati e hanno la possibilità di rinnovare il lease. Se nessuno degli sponsor decide di rinnovare il lease, il gestore di lease rimuove il lease e l'oggetto può essere raccolto dal Garbage Collector. Il gestore di lease gestisce un elenco di lease con lease ordinati in base al tempo di lease rimanente. I lease con il tempo rimanente più breve vengono archiviati nella parte superiore dell'elenco.