System.Runtime.Remoting.Lifetime Naamruimte

Bevat klassen die de levensduur van externe objecten beheren.

Klassen

Name Description
ClientSponsor

Biedt een standaard implementatie voor een levenslange sponsorklasse.

LifetimeServices

Hiermee bepaalt u de .NET externe levensduurservices.

Interfaces

Name Description
ILease

Hiermee definieert u een levensduurleaseobject dat wordt gebruikt door de service voor externe levensduur.

ISponsor

Geeft aan dat de implementeerfunctie een leasesponsor van de levensduur wil zijn.

Enums

Name Description
LeaseState

Geeft de mogelijke leasestatussen van een levensduur lease aan.

Opmerkingen

Normaal gesproken gebruikt gedistribueerde garbagecollection referentieaantallen en pingen voor controle over de levensduur van objecten. Dit werkt goed wanneer er een paar clients per service zijn, maar niet goed wordt geschaald wanneer er duizenden clients per service zijn. De service voor externe levensduur koppelt een lease aan elke service en verwijdert een service wanneer de leasetijd verloopt. De levensduurservice kan de functie van een traditionele gedistribueerde garbagecollector overnemen en wordt ook goed aangepast wanneer het aantal clients per server toeneemt.

Elk toepassingsdomein bevat een leasebeheerder die verantwoordelijk is voor het beheren van leases in het domein. Alle leases worden periodiek onderzocht op verlopen leasetijden. Als een lease is verlopen, worden een of meer sponsoren van de lease aangeroepen en krijgen ze de mogelijkheid om de lease te verlengen. Als geen van de sponsors besluit de lease te verlengen, verwijdert de leasebeheerder de lease en kan het object door de vuilnisverzamelaar worden verzameld. De leasebeheerder onderhoudt een leaselijst met leases gesorteerd op resterende leasetijd. De leases met de kortste resterende tijd worden boven aan de lijst opgeslagen.