Compartilhar via


Renovar concessões

Once a arrendamento has been Criado, ILease.CurrentLeaseTime is the propriedade only on the arrendamento that can be altered. Há duas maneiras para renovar uma concessão: Um cliente pode chamar ILease.Renew diretamente, ou um patrocinador pode ser contatado e precisará renovar a concessão.

Patrocinadores

Patrocinadores escutar solicitações a partir de um domínio do aplicativo host estender a concessão de um objeto específico. Implementar ISponsor sponsors and are Registrado with the gerenciador de concessões by Obtaining a reference to the arrendamento and then chamado ILease.Register. In General, When there are muitos Clients per remoto objeto, it is more efficient to have the remoto objeto send a solicitação to one of the Clients for a renewal arrendamento rather than have All the Clients Sending requests to the remoto objeto.

Dica

Starting with versão 1.1 of the .NET Framework, Registering a patrocinador to participate in a tempo de vida Objeto's servidor Requires the configuração Automatic desserialização Full on both the domínio do aplicativo servidor and the patrocinador.For Details, see Automático Deserialization in Remoting .NET.

Usar os patrocinadores também fornece uma diretiva de renovação dinâmicos por um número grande de clientes. This can be Effective for Problem Parallel solving, WHERE one or Mais Clients Gives múltiplo remoto Objects a Problem to solve. Quando um remoto Objeto retorna uma solução, o patrocinador é notificado e permite que todos os outro remoto Objeto concedem para expirar.

This abordagem is also useful for Objects remoto Migrating to a different Computador because the remoto objeto Contacts the cliente from its atual localidade rather then the cliente having to localizar IT.

It is also Important to detalhes that the patrocinador Might be difficult to reach if it is located Na Horizontal a rede Large or even on the Internet with many firewalls. You can contador this by HAVING de backup sponsors, or the sponsors placing fechar to the Host domínio do aplicativo WHERE they can be reached with some degree of confidence.

The Host gerenciador de concessões 's domínio do aplicativo maintains a lista of the sponsors. Quando um patrocinador é necessário para renovar tempo a concessão, o patrocinador parte superior da lista é solicitado para renovar o tempo. If the patrocinador does not respond in the intervalo de tempo ILease.SponsorshipTimeout, it is Removed from the lista and the Avançar patrocinador on the lista is chamado.

Usando um patrocinador para renovar uma concessão

Sponsors participate in leases tempo de vida by Obtaining the arrendamento for a referência a objeto particular, Registering Themselves as a patrocinador, and Waiting for the remoto arrendamento Gerente to chamar ISponsor.Renewal. Uma concessão de objeto é obtida chamando RemotingServices.GetLifetimeService, que utiliza o objeto para o qual a concessão é necessária como um parâmetro. Essa chamada é um método estático o https://msdn.microsoft.com/pt-br/library/7t76ywb4(v=vs.85) RemotingServices classe. Se o objeto for local para o domínio de aplicativo, o parâmetro para esta chamada é uma referência local para o objeto e a concessão retornada é uma referência local para a concessão. Se o objeto for remoto, o proxy é passado como um parâmetro. Anotação Que a arrendamento próprio é um objeto Marshal-by-reference (MBR), portanto, quando você obter um arrendamento para um remoto objeto, você get um proxy para o arrendamento. Therefore, When You Make Calls to the Methods on the arrendamento you are making Remoto Calls to the processo servidor.

Você e registrar o patrocinador com o remoto arrendamento Gerente chamado Register e passando o patrocinador e um opcional TimeSpan objeto, se o objeto apenas tiver sido criado.

When the arrendamento for this objeto Expires, the arrendamento Gerente Might chamar voltar to Your remoto patrocinador. Valor de retorno do seu patrocinador para sua implementação de Renewal se tornará o novo tempo de concessão.

Consulte também

Tarefas

Como: Renovar uma concessão

Conceitos

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

Vida útil concessões

Inicializando concessões

Outros recursos

< tempo de vida > Elemento

Esquema configurações Remoting