Exportar (0) Imprimir
Expandir Tudo

Parâmetros de configuração para provedor de cache de saída ASP.NET (cache do Azure)

Atualizado: setembro de 2014

noteObservação
Para orientação sobre como escolher a oferta Azure Cache para seu aplicativo, consulte Qual oferta de cache do Azure é ideal para mim?.

Este tópico abrange os parâmetros de configuração do provedor de cache de saída do para ASP.NET. Esses parâmetros são especificados na seção providers do elemento outputCache no arquivo web.config.

 

Atributo Descrição

name (obrigatório)

O nome "amigável" do provedor, usado pelo elemento outputCache para referenciar o provedor.

type (obrigatório)

Cadeia de caracteres do tipo .NET Framework do provedor. Consulte a observação a seguir sobre o valor necessário.

cacheName (obrigatório)

O nome do cache do . Deve ser definido como “default”.

dataCacheClientName (opcional)

O nome da seção dataCacheClient da seção de configuração dataCacheClients a ser usada. Esse atributo só é necessário quando várias seções dataCacheClient são especificadas no arquivo web.config. Por padrão, o provedor usará a seção dataCacheClient denominada “default”.

applicationName (opcional)

Um valor de cadeia de caracteres usado pelo provedor ao criar chaves de cache para armazenar dados de cache de saída. O padrão é uma cadeia de caracteres vazia. Quando esse atributo não é definido, o provedor usa o valor de HttpRuntime.AppDomainAppId como parte das chaves de cache que usa internamente. Diferentemente do recurso de estado da sessão, não é aconselhável compartilhar dados de cache de saída entre diferentes aplicativos ASP.NET (por exemplo, /contoso e /AdventureWorks não podem compartilhar dados de cache de saída). Em vez disso, certifique-se de que todas as diferentes instâncias físicas do mesmo aplicativo tenham acesso aos mesmos dados de cache de saída. Isso pode ser feito de duas maneiras diferentes:

  • Se o atributo de provedor applicationName não for definido explicitamente, HttpRuntime.AppDomainAppId será usado internamente pelo provedor ao criar as chaves de cache. Isso significa que cada instância física do mesmo aplicativo (ou seja, cada servidor web que hospede o aplicativo /contoso) terá que ser instalada no IIS com exatamente o mesmo caminho de metabase. Consulte http://support.microsoft.com/kb/325056para obter uma explicação de como os caminhos de metabase são usados com o SQL Server e os provedores de estado da sessão fora do processo. Embora seja um recurso diferente, o estado da sessão está sujeito ao mesmo problema de manutenção dos caminhos de metabase sincronizados. Isso se aplica ao cache de saída quando o atributo applicationName não foi definido no arquivo web.config.

  • Uma abordagem mais fácil é usar, para cada instância do mesmo aplicativo ASP.NET (por exemplo, em cada servidor web que hospede o aplicativo /contoso), 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 AppDomainAppId ao criar as chaves de cache e, portanto, não há risco de caminhos de metabase incompatíveis.

retryInterval (opcional)

Um intervalo de tempo indicando a duração da espera entre novas tentativas caso ocorra um erro de comunicação com o cache. O formato de cadeia de caracteres a ser usado para esse valor é "HH:MM:SS". Por padrão, o provedor permanecerá inativo por um segundo.

retryCount (opcional)

Um valor inteiro que informa ao provedor o número de novas tentativas em caso de falha de comunicação com o cache. Observe que nem todas as operações podem ser repetidas. O valor padrão é três novas tentativas. O provedor permanecerá inativo durante o período de tempo configurado em retryInterval antes de cada nova tentativa.

noteObservação
O atributo type deve ser definido como “Microsoft.Web.DistributedCache.DistributedCacheOutputCacheProvider, Microsoft.Web.DistributedCache”.

<configuration>
  <configSections>
    <section name="dataCacheClients" 
          type="Microsoft.ApplicationServer.Caching.DataCacheClientsSection, Microsoft.ApplicationServer.Caching.Core"
          allowLocation="true" allowDefinition="Everywhere" />
    <section name="cacheDiagnostics"
          type="Microsoft.ApplicationServer.Caching.AzureCommon.DiagnosticsConfigurationSection, Microsoft.ApplicationServer.Caching.AzureCommon"
          allowLocation="true" allowDefinition="Everywhere" />
  </configSections>
  <system.web>
    <!-- Azure Caching output caching provider -->
    <caching>
      <outputCache defaultProvider="AFCacheOutputCacheProvider">
        <providers>
          <add name="AFCacheOutputCacheProvider" 
            type="Microsoft.Web.DistributedCache.DistributedCacheOutputCacheProvider, Microsoft.Web.DistributedCache" 
            cacheName="default" 
            dataCacheClientName="default" 
            applicationName="AFCacheOutputCache" />
        </providers>
      </outputCache>
    </caching>
  </system.web>
  <dataCacheClients>
    <dataCacheClient name="default">
      <autoDiscover isEnabled="true" identifier="CacheWorkerRole1" />
    </dataCacheClient>
  </dataCacheClients>
  <cacheDiagnostics>
    <crashDump dumpLevel="Off" dumpStorageQuotaInMB="100" />
  </cacheDiagnostics>
</configuration>

Consulte também

Mostrar:
© 2015 Microsoft