System.Runtime.Remoting.Lifetime Spazio dei nomi
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.
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.