ILease Interface
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Define um objeto de arrendamento vitalício utilizado pelo serviço vitalício remoto.
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
Observações
A recolha de lixo distribuída controla quando as aplicações servidor podem ser eliminadas. Tradicionalmente, a recolha de lixo distribuída utiliza contagens de referência e ping para controlo. Isto funciona bem quando há poucos clientes por objeto, mas não funciona bem quando há milhares de clientes por objeto. O serviço ao longo da vida pode assumir a função de um coletor de lixo distribuído tradicional, e escala bem quando o número de clientes aumenta.
O serviço vitalício associa um contrato de arrendamento a cada objeto ativado remotamente. Quando o contrato de arrendamento expira, o objeto é removido. Um contrato de arrendamento pode especificar que um objeto tem uma vida útil infinita.
Cada um AppDomain contém um gestor de arrendamento que administra os contratos de arrendamento no domínio. O gestor do contrato de arrendamento examina periodicamente os contratos quanto à expiração do prazo. Se um contrato de arrendamento expirar, pode ser cancelado removendo a sua referência ao contrato, ou renovado invocando um ou mais dos patrocinadores do contrato.
Um contrato de arrendamento contém propriedades que determinam as suas políticas e métodos que renovam o prazo do contrato. O contrato expõe a ILease interface.
Para um exemplo que mostra como usar a ILease interface, veja Lifetimes.
Propriedades
| Name | Description |
|---|---|
| CurrentLeaseTime |
Obtém o tempo que resta no contrato. |
| CurrentState |
Recebe a corrente LeaseState do contrato de arrendamento. |
| InitialLeaseTime |
Obtém ou define o prazo inicial do arrendamento. |
| RenewOnCallTime |
Obtém ou define o tempo pelo qual uma chamada ao objeto remoto renova o CurrentLeaseTime. |
| SponsorshipTimeout |
Obtém ou define o tempo de espera pelo regresso do patrocinador, com um prazo de renovação do arrendamento. |
Métodos
| Name | Description |
|---|---|
| Register(ISponsor, TimeSpan) |
Regista um patrocinador para o arrendamento e renova-o pelo especificado TimeSpan. |
| Register(ISponsor) |
Regista um patrocinador para o contrato sem renovar o contrato. |
| Renew(TimeSpan) |
Renova o contrato de arrendamento pelo período especificado. |
| Unregister(ISponsor) |
Remove um patrocinador da lista de patrocinadores. |