System.Runtime.Remoting.Lifetime Spazio dei nomi

Contiene classi che gestiscono la durata degli oggetti remoti.

Classi

Nome Descrizione
ClientSponsor

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

LifetimeServices

Controlla i servizi di durata remoti.NET.

Interfacce

Nome Descrizione
ILease

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

ISponsor

Indica che l'implementatore vuole essere uno sponsor di lease di durata.

Enumerazioni

Nome Descrizione
LeaseState

Indica i possibili stati di lease di un lease di durata.

Commenti

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

Ogni dominio applicazione contiene un gestore di 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 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.