Configurando tempos limites do cliente de cache

Os recursos de Microsoft AppFabric 1.1 para Cache do Windows Server permitem que você configure a duração do tempo-limite do cliente de cache. Você pode controlar quanto tempo aguardar por uma resposta do cluster de cache. Este tópico abrange dois tipos de tempos limite: tempos-limite de canal aberto e tempos limite de solicitações.

Alguns aplicativos apresentam melhor desempenho quando se definem durações curtas de tempo limite e quando os erros de tempo limite são devidamente tratados. Outros aplicativos podem preferir que as durações de tempo limite sejam relativamente longas para reduzir a frequência desses erros.

Os tempos limites abordados aqui não se aplicam à conexão inicial com o cluster de cache. Essa conexão inicial ocorre quando um novo objeto DataCacheFactory é criado. Durante essa conexão, uma tentativa é feita para se comunicar com o cluster por meio de um ou mais dos servidores especificados na propriedade Servers ou no elemento hosts do arquivo de configuração de aplicativo. Qualquer problema de rede ou de cluster para se comunicar com esses servidores poderá resultar em um atraso no estabelecimento da conexão inicial. Para atenuar esse atraso, crie o objeto DataCacheFactory em um thread secundário. Com base no modelo de programação, o aplicativo deverá funcionar sem o cache, usando os dados de origem, até a conexão com o cluster de cache ser estabelecida com êxito.

ChannelOpenTimeout

Quando um tempo limite de canal aberto é ultrapasado, uma DataCacheException é gerada com o ErrorCode configurado para RetryLater. O parâmetro de configuração ChannelOpenTimeout controla o tempo que o cliente de cache aguardará para estabelecer uma conexão de rede com o servidor. Você pode optar por definir o tempo limite como 0 se quiser que qualquer erro retorne imediatamente ao cliente.

Para alterar essa configuração com um programa, configure a propriedade ChannelOpenTimeout do objeto DataCacheFactoryConfiguration.

Para controlar essa configuração com um arquivo de configuração de aplicativo, especifique a duração de tempo limite, em milissegundos, com o atributo channelOpenTimeout para o elemento dataCacheClient.

RequestTimeout

Quando o tempo limite de solicitação é ultrapasado, uma DataCacheException é gerada com o ErrorCode configurado para Timeout. A configuração RequestTimeout controla quanto tempo o cliente de cache aguardará uma resposta do servidor após uma chamada específica à API. Por exemplo, se você chamou o método Get para recuperar um objeto na cache, o tempo limite de solicitação deverá determinar por quanto tempo o cliente de cache aguardará uma resposta antes de lançar uma exceção. Ao contrário do ChannelOpenTimeout, você não deve definir o RequstTimeout como 0, porque isso causa um erro de tempo limite em cada chamada para ao servidor.

Para alterar essa configuração com um programa, configure a propriedade RequestTimeout do objeto DataCacheFactoryConfiguration.

Para controlar essa configuração com um arquivo de configuração de aplicativo, especifique a duração de tempo limite, em milissegundos, com o atributo requestTimeout do elemento dataCacheClient.

Consulte também

Conceitos

Visão geral do tratamento de exceções
Exceções comuns

  2012-03-05