Partilhar via


Configurações do provedor de cache de saída ASP.NET 4 (Cache do AppFabric v1.1)

Este tópico aborda as configurações para o provedor de cache de saída do Microsoft AppFabric 1.1 para Windows Server para ASP.NET. Essas configurações estão especificadas na seção providers do elemento outputCache no arquivo web.config.

Configurações do estado da sessão

Atributo Descrição

name (necessário)

O nome "amigável" do provedor utilizado pelo elemento outputCache para se referenciar ao provedor.

type (necessário)

A cadeia de caracteres de tipo .NET Framework para o provedor. Ela deve ser definida como “Microsoft.Web.DistributedCache.DistributedCacheOutputCacheProvider, Microsoft.Web.DistributedCache”.

cacheName (necessário)

O nome do cache AppFabric.

dataCacheClientName (opcional)

O nome da seção de dataCacheClient para ser usado a partir da seção de configuração de dataCacheClients. Esse atributo será necessário apenas se diversas seções de dataCacheClient forem especificadas no arquivo web.config. Por padrão, o provedor utilizará a seção de dataCacheClient denominada “default”.

applicationName (opcional)

Um valor de cadeia de caracteres utilizado pelo provedor durante a criação de chaves de cache para o armazenamento dos dados de cache de saída. O padrão é uma cadeia de caracteres vazia. Quando esse atributo não está definido, o provedor usa o valor de HttpRuntime.AppDomainAppId como parte das chaves de cache usadas internamente. Diferentemente do recurso de estado da sessão, você não desejará compartilhar dados de cache de saída em aplicativos ASP.NET diferentes (por exemplo, /contoso e /AdventureWorks não podem compartilhar dados de cache de saída). Em vez disso, garanta que diferentes instâncias físicas do mesmo aplicativo tenham acesso aos mesmos dados de cache de saída. Existem duas formas diferentes de fazer isso:

  • Se o atributo do provedor applicationName não estiver definido explicitamente, o HttpRuntime.AppDomainAppId será usado internamente pelo provedor durante a criação de chaves de cache. Isso significa que casa instância física do mesmo aplicativo (isto é, cada servidor web hospedando o aplicativo /contoso) precisa ser instalada no IIS exatamente com o mesmo caminho de metabase. Consulte https://support.microsoft.com/kb/325056para obter uma explicação sobre como os caminhos de metabase são usados com o SQL Server e com os provedores de estado da sessão fora de processo. Embora o estado da sessão seja um recurso diferente, o mesmo problema acontece ao manter os caminhos de metabase em sincronia. Isso se aplica ao cache de saída quando o atributo applicationName não foi definido no arquivo web.config.

  • Um método mais fácil é, para cada instância do mesmo aplicativo ASP.NET (por exemplo, em cada servidor web armazenando o aplicativo /contoso), usar o mesmo atributo applicationName no arquivo web.config. Isso permite que diferentes instâncias físicas do mesmo aplicativo leiam e gravem os mesmos dados de cache de saída. Nesse caso, o provedor não usa o AppDomainAppId durante a criação de chaves de cache e, portanto, não há riscos de caminhos de matabase incompatíveis.

retryInterval (opcional)

Um timespan para a duração da espera entre as tentativas de recuperação caso ocorra um erro durante a comunicação com o cache. O formato da cadeia de caracteres para ser usado com esse valor é "HH:MM:SS". Por padrão, o provedor ficará suspenso por um segundo.

retryCount (opcional)

Um valor inteiro que avisa ao provedor o número de tentativas de recuperação em caso de falha de comunicação com o cache. Observe que nem todas as operações podem ser recuperadas. O valor padrão é de três tentativas de recuperação. O provedor fica suspenso para o tempo de retryInterval configurado entre cada tentativa de recuperação.

Exemplo

O exemplo a seguir mostra um elemento outputCache que usa o Cache do AppFabric.

<caching>
  <outputCache defaultProvider="DistributedCache">
    <providers>
      <add name="DistributedCache"
           type="Microsoft.Web.DistributedCache.DistributedCacheOutputCacheProvider, Microsoft.Web.DistributedCache"
           cacheName="default"
           dataCacheClientName="default" />
    </providers>
  </outputCache>
</caching>

Consulte também

Conceitos

Provedor de cache de saída (Cache do AppFabric 1.1)

  2012-03-05