ILease Interface
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Define um objeto de concessão de tempo de vida que é usado pelo serviço de tempo de vida de comunicação remota.
public interface class ILease
public interface ILease
[System.Runtime.InteropServices.ComVisible(true)]
public interface ILease
type ILease = interface
[<System.Runtime.InteropServices.ComVisible(true)>]
type ILease = interface
Public Interface ILease
- Atributos
Comentários
Controles de coleta de lixo distribuídos quando aplicativos de servidor podem ser excluídos. Tradicionalmente, a coleta de lixo distribuída usa contagens de referência e ping para controle. Isso funciona bem quando há alguns clientes por objeto, mas não funciona bem quando há milhares de clientes por cada objeto. O serviço de tempo de vida pode assumir a função de um coletor de lixo distribuído tradicional e dimensiona bem quando o número de clientes aumenta.
O serviço de tempo de vida associa uma concessão a cada objeto ativado remotamente. Quando a concessão expira, o objeto é removido. Uma concessão pode especificar que um objeto tem um tempo de vida infinito.
Cada AppDomain contém um gerenciador de concessão que administra as concessões no domínio. O gerenciador de concessão examina periodicamente as concessões para expiração de tempo. Se uma concessão tiver expirado, ela poderá ser cancelada removendo sua referência à concessão ou renovada invocando um ou mais patrocinadores do contrato.
Uma concessão contém propriedades que determinam suas políticas e métodos que renovam o tempo de concessão. A concessão expõe a ILease interface .
Para obter um exemplo mostrando como usar a ILease interface, consulte Tempos de vida.
Propriedades
CurrentLeaseTime |
Obtém a quantidade de tempo restante na concessão. |
CurrentState |
Obtém o LeaseState atual da concessão. |
InitialLeaseTime |
Obtém ou define a hora inicial para a concessão. |
RenewOnCallTime |
Obtém ou define a quantidade de tempo pela qual uma chamada para o objeto remoto renova o CurrentLeaseTime. |
SponsorshipTimeout |
Obtém ou define a quantidade de tempo a esperar um responsável retornar com um tempo de renovação da concessão. |
Métodos
Register(ISponsor) |
Registra um responsável para a concessão sem renovar a concessão. |
Register(ISponsor, TimeSpan) |
Registra um responsável para a concessão e renova-a pelo TimeSpan especificado. |
Renew(TimeSpan) |
Renova uma concessão pelo tempo especificado. |
Unregister(ISponsor) |
Remove um responsável da lista de responsáveis. |