System.Runtime.Remoting.Lifetime Namespace

Enthält Klassen, die die Lebensdauer von Remoteobjekten verwalten.

Klassen

ClientSponsor

Stellt eine Standardimplementierung für eine Lebendsdauersponsor-Klasse bereit.

LifetimeServices

Steuert die .NET-Remoting-Lebensdauerdienste.

Schnittstellen

ILease

Definiert ein Lebensdauerlease-Objekt, das vom Remoting-Lebensdauerdienst verwendet wird.

ISponsor

Gibt an, dass die Implementierung ein Lebensdauerlease-Sponsor sein soll.

Enumerationen

LeaseState

Gibt die möglichen Leasezustände eines Lebensdauerlease an.

Hinweise

In der Regel verwendet die verteilte Garbage Collection Verweisanzahlen und Ping für die Kontrolle über die Lebensdauer von Objekten. Dies funktioniert gut, wenn es einige Clients pro Dienst gibt, wird aber nicht gut skaliert, wenn es Tausende von Clients pro Dienst gibt. Der Remoting-Lebensdauerdienst ordnet jedem Dienst eine Lease zu und löscht einen Dienst, wenn seine Leasezeit abläuft. Der Lebensdauerdienst kann die Funktion eines herkömmlichen verteilten Garbage Collector übernehmen und passt sich auch gut an, wenn die Anzahl der Clients pro Server steigt.

Jede Anwendungsdomäne enthält einen Lease-Manager, der für die Steuerung von Leases in ihrer Domäne verantwortlich ist. Alle Leases werden regelmäßig auf abgelaufene Leasezeiten überprüft. Wenn ein Leasingverhältnis abgelaufen ist, werden mindestens ein Sponsor des Leasingvertrags aufgerufen und die Möglichkeit gegeben, den Mietvertrag zu verlängern. Wenn keiner der Sponsoren beschließt, die Lease zu verlängern, entfernt der Lease-Manager die Lease, und das Objekt kann vom Garbage Collector gesammelt werden. Der Lease-Manager verwaltet eine Leaseliste, in der Leases nach verbleibender Leasezeit sortiert sind. Die Leases mit der kürzesten verbleibenden Zeit werden ganz oben in der Liste gespeichert.