Compartilhar via


Inicializando concessões

Quando uma classe MarshalByRefObject derivada é instanciada, o .NET Framework Remoting chamará o método do objeto InitializeLifetimeService. Esse método retorna um objeto de concessão que contém os valores Vida útil padrão para o objeto remoto. Você pode modificar esses valores padrão especificando valores alternativos no arquivo de configuração do aplicativo do servidor (usando o < tempo de vida > Elemento) ou pela substituição InitializeLifetimeService.

Se você especificar alternativo valores em um arquivo de configuração ser ciente que isso será Alterar a tempo de vida usar como padrão valores para todos os objetos os hosts aplicativo servidor. Overriding InitializeLifetimeService allows you to Alterar the tempo de vida usar como padrão values for a classe specific.

Substituindo InitializeLifetimeService

When overriding InitializeLifetimeService You Must Marcar the valor of the CurrentState. Você só pode alterar os valores de concessão quando igual a CurrentStateLeaseStateInitial().

A chamada apenas que afeta o serviço vida útil é a chamada para InitializeLifetimeService a partir de .NET Remoting infra-estrutura, que ativa a concessão. Other code can call InitializeLifetimeServiceand create a lease, but that lease will stay in its initial state until it is returned to the .NET remoting infrastructure.

Se InitializeLifetimeService Retorna nulo o objeto terá uma vida útil infinita e não pelo Garbage Collector será coletado até que o domínio de hospedagem de aplicativo seja descarregado.

A implementação de InitializeLifetimeService normalmente chama o método correspondente da classe base para recuperar a concessão existente para o objeto remoto. Se o objeto nunca foi empacotado antes, a concessão retornada está em estado inicial e as propriedades de concessão podem ser definidas. Depois que o objeto foi empacotado, o arrendamento vai do inicial para o ativo estado e qualquer tentativa para inicializar as propriedades arrendamento serão ignoradas (uma exceção é Descartado). InitializeLifetimeService é chamado quando o remoto objeto é ativado. Uma lista de patrocinadores para o arrendamento pode ser fornecida com a chamar ativação e os patrocinadores adicionais podem ser adicionados a qualquer momento enquanto o arrendamento está ativo.

Para obter informações sobre como substituir o método InitializeLifetimeService , consulte How to: Override the InitializeLifetimeService Interface.

Consulte também

Tarefas

Como: Substituir o método InitializeLifetimeService

Conceitos

Renovar concessões

Exemplo do Sistema de Interação Remota: Vidas úteis

Vida útil concessões