System.Runtime.Remoting.Lifetime Espaço de Nomes

Contém classes que gerem a vida útil dos objetos remotos.

Classes

Name Description
ClientSponsor

Fornece uma implementação padrão para uma classe de patrocinador vitalício.

LifetimeServices

Controla os serviços remotos .NET ao longo da vida.

Interfaces

Name Description
ILease

Define um objeto de arrendamento vitalício utilizado pelo serviço vitalício remoto.

ISponsor

Indica que o implementador quer ser patrocinador vitalício.

Enumerações

Name Description
LeaseState

Indica os possíveis estados de arrendamento de um contrato vitalício.

Observações

Tradicionalmente, a recolha de lixo distribuída utiliza contagens de referência e pings para controlar a vida útil dos objetos. Isto funciona bem quando há poucos clientes por serviço, mas não escala bem quando há milhares de clientes por serviço. O serviço vitalício remoto associa um contrato de arrendamento a cada serviço e elimina um serviço quando o seu prazo termina. O serviço vitalício pode assumir a função de um coletor de lixo distribuído tradicional, e também se ajusta bem quando o número de clientes por servidor aumenta.

Cada domínio de aplicação contém um gestor de arrendamentos responsável por controlar os arrendamentos no seu domínio. Todos os contratos de arrendamento são revistos periodicamente quanto a prazos de expiração. Se um contrato de arrendamento expirar, um ou mais dos patrocinadores do arrendamento são invocados e têm a oportunidade de renovar o contrato. Se nenhum dos patrocinadores decidir renovar o arrendamento, o gestor do arrendamento remove o contrato e o objeto pode ser recolhido pelo coletor de lixo. O gestor do contrato mantém uma lista de arrendamentos com os contratos organizados pelo tempo restante. Os contratos de arrendamento com o tempo restante mais curto são guardados no topo da lista.