VENDAS: 1-800-867-1389

Usar o evento RoleEnvironment.Changing

Atualizado: novembro de 2013

O evento Changing permite a gerenciar como uma instância de função responde a uma alteração de configuração. Usando o evento Changing, uma instância pode responder a uma alteração de configuração de uma das maneiras a seguir:

  • A instância pode aceitar a alteração de configuração enquanto está sendo executada, sem ficar offline.

  • A instância pode cancelar o evento Changing e, nesse caso, o Windows Azure faz a instância ficar offline, aplica a alteração de configuração e faz a instância online novamente.

Ao cancelar o evento Changing, você pode assegurar que a instância continua por meio de uma sequência de desligamento ordenada e fica offline antes de a alteração de configuração ser aplicada. Durante o processo de desligamento, o Windows Azure gera o evento Stopping e executa qualquer código no método OnStop.

noteObservação
Você tem uma quantidade limitada de tempo para aceitar ou cancelar o evento Changing. Tenha certeza de que seu manipulador de eventos pode retornar de uma maneira oportuna.

Você pode desejar cancelar o evento Changing se:

  • Sua instância de função não dá suporte a alterações de configuração enquanto está sendo executado, e requer reciclagem a fim de aplicar a alteração.

  • Sua instância de função está executando um trabalho que não deve ser interrompido por uma alteração de configuração e precisa continuar na sequência de desligamento antes de aplicar a alteração.

A classe RoleEnvironmentChangingEventArgs fornece uma propriedade Changes que retorna uma coleção das alterações de configuração que estão prestes a serem aplicadas à instância. Os objetos nesta coleção podem ser de um dos seguintes tipos:

  • A classe RoleEnvironmentConfigurationSettingChange representa uma alteração no valor de uma definição de configuração. Sua propriedade ConfigurationSettingName retorna o nome da definição de configuração que está sendo alterada.

  • A classe RoleEnvironmentTopologyChange representa uma alteração na topologia do serviço. Uma alteração na topologia é a adição ou a remoção de instâncias de uma função. A propriedade RoleName retorna o nome da função cuja contagem de instâncias está sendo alterada.

noteObservação
Você pode consultar o nome do parâmetro de configuração que está sendo alterado, mas não pode acessar o novo valor até que o evento Changing seja gerado.

Para definir o manipulador de eventos

  1. Abra o arquivo de origem onde você está tratando as alterações de configuração.

  2. Verifique se o projeto referencia o arquivo Microsoft.WindowsAzure.ServiceRuntime.dll e se a seguinte instrução é adicionada ao arquivo:

    using Microsoft.WindowsAzure.ServiceRuntime;
    
  3. Adicione o código a seguir ao método OnStart para especificar o manipulador de eventos:

    
    public override bool OnStart()
    {
       RoleEnvironment.Changing += RoleEnvironmentChanging;
                
       return base.OnStart();
    }
    
  4. Adicione o método do manipulador de evento a seguir ao arquivo de origem:

    
    private void RoleEnvironmentChanging(object sender, RoleEnvironmentChangingEventArgs e)
    {
       // Add code for handling changes
    }
    
  5. Salve o arquivo.

Consulte Também

Isso foi útil para você?
(1500 caracteres restantes)
Agradecemos os seus comentários
Mostrar:
© 2014 Microsoft