System.Runtime.Remoting.Lifetime Espace de noms

Contient des classes qui gèrent la durée de vie d'objets distants.

Classes

ClientSponsor

Fournit une implémentation par défaut d'une classe de sponsor de durée de vie.

LifetimeServices

Contrôle les services de durée de vie de communication à distance .NET.

Interfaces

ILease

Définit un objet de bail de durée de vie utilisé par le service de durée de vie de communication à distance.

ISponsor

Indique que l'implémenteur souhaite devenir sponsor de bail.

Énumérations

LeaseState

Indique les états de bail possibles d'un bail de durée de vie.

Remarques

Traditionnellement, le garbage collection distribué utilise le nombre de références et le test ping pour contrôler la durée de vie des objets. Cela fonctionne bien quand il y a quelques clients par service, mais n’est pas bien mis à l’échelle quand il y a des milliers de clients par service. Le service de durée de vie de communication à distance associe un bail à chaque service et supprime un service à l’expiration de son délai de bail. Le service de durée de vie peut prendre la fonction d’un récupérateur de mémoire distribué traditionnel, et il s’ajuste également correctement lorsque le nombre de clients par serveur augmente.

Chaque domaine d’application contient un gestionnaire de baux qui est chargé de contrôler les baux dans son domaine. Tous les baux sont examinés régulièrement pour connaître les délais de bail expirés. Si un bail a expiré, un ou plusieurs commanditaires du bail sont appelés et ont la possibilité de renouveler le bail. Si aucun des commanditaires ne décide de renouveler le bail, le gestionnaire de bail supprime le bail et l’objet peut être collecté par le récupérateur de mémoire. Le gestionnaire de baux tient à jour une liste de baux avec des baux triés par durée de bail restante. Les baux avec le temps restant le plus court sont stockés en haut de la liste.