System.Runtime.Remoting.Lifetime Namnområde

Innehåller klasser som hanterar livslängden för fjärrobjekt.

Klasser

Name Description
ClientSponsor

Tillhandahåller en standardimplementering för en livstidssponsorklass.

LifetimeServices

Styr .NET livslängdstjänster för fjärrkommunikation.

Gränssnitt

Name Description
ILease

Definierar ett livstidslåneobjekt som används av tjänsten för fjärrkommunikationslivslängd.

ISponsor

Anger att implementeraren vill vara en livstidslånesponsor.

Uppräkningar

Name Description
LeaseState

Anger möjliga lånetillstånd för ett livstidslån.

Kommentarer

Traditionellt använder distribuerad skräpinsamling referensantal och pingning för kontroll över objektens livslängd. Detta fungerar bra när det finns några klienter per tjänst, men skalas inte bra när det finns tusentals klienter per tjänst. Tjänsten för fjärrkommunikationslivslängd associerar ett lån med varje tjänst och tar bort en tjänst när dess lånetid går ut. Livslängdstjänsten kan använda funktionen för en traditionell distribuerad skräpinsamlare, och den justeras också väl när antalet klienter per server ökar.

Varje programdomän innehåller en lease manager som ansvarar för att kontrollera lån i sin domän. Alla lån granskas regelbundet för utgångna lånetider. Om ett lån har upphört att gälla anropas en eller flera av lånets sponsorer och ges möjlighet att förnya lånet. Om ingen av sponsorerna bestämmer sig för att förnya lånet tar leasehanteraren bort lånet och objektet kan samlas in av skräpinsamlaren. Lånehanteraren har en lånelista med lån sorterade efter återstående lånetid. Lånen med kortast återstående tid lagras överst i listan.