Como: Configurar o provedor de cache de saída do AppFabric para ASP.NET (Cache do AppFabric v1.1)

Este tópico explica como configurar um aplicativo web ASP.NET para usar um cache AppFabric provisionado para cache de saída. A configuração é realizada por meio da modificação do arquivo web.config para o aplicativo web de destino.

Como utilizar o Microsoft AppFabric 1.1 para Cache do Windows Server para cache de saída

Para que o seu aplicativo Web ASP.NET use o provedor de cache de saída AppFabric, você deve adicionar os seguintes elementos ao arquivo web.config do seu aplicativo:

  • configSections: este deve ser o primeiro elemento no arquivo de configuração, abaixo da marca configuration de abertura. É necessário para que os assemblies de Cache do AppFabric funcionem.

  • dataCacheClients: esse elemento é um filho do elemento configuração. É usado para reter os elementos dataCacheClient que configuram clientes de cache e especificam os hosts de cache.

  • caching: esse elemento é um filho do elemento system.web. Ele contém o elemento outputCache que especifica o aplicativo web que deve usar o Microsoft AppFabric 1.1 para Windows Server para gerenciar os dados do cache de saída. O atributo cacheName especifica o cache nomeado que será usado. O atributo dataCacheClientName especifica qual seção de dataCacheClient deve ser usada para a configuração de cache.

Aviso

É recomendável que você proteja o arquivo web.config usado para especificar os nomes dos hosts de cache.

Para usar o Microsoft AppFabric 1.1 para Windows Server para cache de saída

  1. Primeiro, prepare seu projeto de Visual Studio 2010 para usar Microsoft AppFabric 1.1 para Cache do Windows Server. Para obter mais informações, consulte Preparando o ambiente de desenvolvimento do cliente de cache.

  2. Além dos assemblies normais de cache, consulte também o assembly Microsoft.Web.DistributedCache.dll no caminho de instalação de Microsoft AppFabric 1.1 para Cache do Windows Server.

  3. Copie o elemento configSections do exemplo depois que executar essas etapas no arquivo web.config. Verifique se este é o primeiro elemento dentro das marcas configuration.

  4. Copie o elemento dataCacheClients do exemplo depois que executar essas etapas no arquivo web.config. Ele deve ser adicionado após o elemento configSections, dentro do elemento configuration.

    1. Configure os atributos name e cachePort dos elementos de host para que correspondam aos servidores de cache no seu ambiente. Adicione ou remova elementos de host conforme apropriado.
  5. Copie o elemento caching do exemplo depois que executar essas etapas no arquivo web.config. Ele deve estar posicionado dentro do elemento system.web. Especifique os atributos cacheName e dataCacheClientName, além das outras configurações necessárias.

  6. Determine a identidade do aplicativo da Web. Isso pode ser feito no Gerenciador do IIS nos servidores da Web. Verifique a identidade do pool de aplicativos associado ao aplicativo da Web. Conceda esse acesso do usuário ao cluster de cache usando o comando Grant-CacheAllowedClientAccount do Windows Powershell.

    Dica

    Se o pool de aplicativos for executado como uma conta de máquina incorporada, como "NT Authority\Network Service", então você deverá conceder acesso ao cluster de cache para essa máquina. Você pode fazer isso especificando DOMAINNAME\MACHINENAME$ como a conta. Observe que "$" está anexado ao nome de máquina para indicar que essa é a conta da máquina.

Exemplo

Este exemplo mostra como configurar um aplicativo web ASP.NET para armazenar os dados do cache de saída em um cache distribuído, denominado default. Nesse exemplo, o cliente de cache é configurado apenas para se comunicar com um host de cache com o nome CacheServer1.

  1. Primeiro, adicione o elemento configSections ao arquivo web.config como o primeiro elemento no elemento configuration:

      <!--configSections must be the FIRST element -->
      <configSections>
        <section name="dataCacheClients"
                 type="Microsoft.ApplicationServer.Caching.DataCacheClientsSection, Microsoft.ApplicationServer.Caching.Core"
                 allowLocation="true" allowDefinition="Everywhere"/>
      </configSections>
    
  2. Em seguida, adicione um único elemento dataCacheClients que contenha um ou mais elementos dataCacheClient. Adicione-o ao arquivo web.config depois do elemento configSections. É nesse ponto que você configura o cliente de cache para que atenda às necessidades do seu aplicativo. Para obter mais informações, consulte Configurações de aplicativo (Cache do AppFabric 1.1).

      <dataCacheClients>
        <dataCacheClient name="default">
          <hosts>
            <host name="CacheServer1" cachePort="22233" />
          </hosts>
        </dataCacheClient>
      </dataCacheClients>
    
  3. Depois que os elementos configSections e dataCacheClients forem adicionados, acrescente o elemento caching no arquivo web.config, dentro do elemento system.web. É nesse ponto que você especifica o cache que o aplicativo web usará para armazenar dados de cache de saída. Personalize os atributos cacheName e dataCacheClientName, além das outras configurações necessárias.

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

Quando estiver concluído, o arquivo web.config final do aplicativo da Web será semelhante ao exemplo a seguir.

<?xml version="1.0"?>

<configuration>
  <configSections>
    <section name="dataCacheClients"
             type="Microsoft.ApplicationServer.Caching.DataCacheClientsSection, Microsoft.ApplicationServer.Caching.Core"
             allowLocation="true" allowDefinition="Everywhere"/>
  </configSections>

  <dataCacheClients>
    <dataCacheClient name="default" channelOpenTimeout="10000">
      <hosts>
        <host name="CacheServer1" cachePort="22233" />
      </hosts>
    </dataCacheClient>
  </dataCacheClients>
  
  <system.web>
    <caching>
      <outputCache defaultProvider="DistributedCache">
        <providers>
          <add name="DistributedCache"
               type="Microsoft.Web.DistributedCache.DistributedCacheOutputCacheProvider, Microsoft.Web.DistributedCache"
               cacheName="default"
               dataCacheClientName="default" />
        </providers>
      </outputCache>
    </caching>
  </system.web>
</configuration>

Consulte também

Conceitos

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

  2012-03-05