System.Runtime.Remoting.Lifetime Espacio de nombres

Contiene clases que administran la duración de los objetos remotos.

Clases

ClientSponsor

Proporciona una implementación predeterminada para una clase de patrocinador del período de duración.

LifetimeServices

Controla los servicios de duración de .NET Remoting.

Interfaces

ILease

Define un objeto de concesión de período de duración que utiliza el servicio de duración de comunicación remota.

ISponsor

Indica que el implementador desea ser un patrocinador de concesiones de período de duración.

Enumeraciones

LeaseState

Indica los estados posibles de un período de duración.

Comentarios

Tradicionalmente, la recolección de elementos no utilizados distribuida utiliza recuentos de referencias y hace ping para controlar la duración de los objetos. Esto funciona bien cuando hay algunos clientes por servicio, pero no se escala bien cuando hay miles de clientes por servicio. El servicio de duración de comunicación remota asocia una concesión a cada servicio y elimina un servicio cuando expira el tiempo de concesión. El servicio de duración puede asumir la función de un recolector de elementos no utilizados distribuido tradicional y también se ajusta bien cuando aumenta el número de clientes por servidor.

Cada dominio de aplicación contiene un administrador de concesiones que es responsable de controlar las concesiones en su dominio. Todas las concesiones se examinan periódicamente para los tiempos de concesión expirados. Si una concesión ha expirado, se invoca a uno o varios de los patrocinadores de la concesión y se le da la oportunidad de renovar la concesión. Si ninguno de los patrocinadores decide renovar la concesión, el administrador de concesiones quita la concesión y el recolector de elementos no utilizados puede recopilar el objeto. El administrador de concesiones mantiene una lista de concesión con concesiones ordenadas por el tiempo de concesión restante. Las concesiones con el tiempo más corto restante se almacenan en la parte superior de la lista.