Exportar (0) Imprimir
Expandir Tudo

Como: Configurar um cliente de cache para o Serviço de Cache Gerenciado do Azure

Atualizado: julho de 2010

O Serviço de cache gerenciado facilita a configuração de clientes de cache disponibilizando um pacote NuGet para adicionar as referências de assembly e a configuração necessárias. O pacote NuGet de cache também oferece duas seções codificadas como comentário no arquivo web.config de projetos Web para habilitar provedores de estado de sessão de cache e de cache de saída de página. Este tópico apresenta um passo a passo de como configurar clientes de cache usando o pacote NuGet de cache.

É fácil configurar aplicativos clientes do Serviço de cache gerenciado. O Serviço de cache gerenciado oferece um pacote NuGet para adicionar a configuração e as referências de assembly necessárias para permitir que os clientes de cache acessem um cache.

noteObservação
O Serviço de cache gerenciado oferece suporte a aplicativos clientes dos Sites, dos Serviços de Nuvem e das Máquinas Virtuais do . As etapas de configuração desses diferentes tipos de aplicativos clientes são bastante semelhantes, com apenas diferenças sutis. O pacote NuGet de cache disponibilizado resolve automaticamente a maioria dessas diferenças, as quais são descritas em vários pontos neste tópico. Para obter um resumo das diferenças, consulte Cache Service Client Application Types.

Se você for criar um aplicativo de serviços em nuvem, baixe o SDK do Azure mais recente (atualmente, o SDK 2.1). Se você for criar aplicativos clientes dos Sites ou das Máquinas Virtuais do Azure, o pacote NuGet de cache instalará tudo que você precisa para começar.

ImportantImportante
Estas etapas requerem o Gerenciador de Pacotes NuGet mais recente (versão 2.6.40627.9000 ou posterior). Para instalar o Gerenciador de Pacotes NuGet mais recente, consulte Gerenciador de Pacotes NuGet.

Para usar o pacote NuGet do Serviço de cache gerenciado, clique com o botão direito do mouse no projeto de cliente no Solution Explorer e selecione Gerenciar Pacotes NuGet.

Selecione Cache do Azure, clique em Instalar e clique em Aceito. Depois que o pacote for instalado no projeto do cliente, clique em Fechar para fechar a janela Gerenciar Pacotes NuGet.

noteObservação
Se Cache do Azure não aparecer na lista, digite WindowsAzure.Caching na caixa de texto Pesquisar online.

Quando o pacote NuGet do Serviço de cache gerenciado é instalado em um projeto do cliente, ele adiciona as referências de configuração e de assembly necessárias para que o aplicativo cliente possa acessar o cache.

No web.config ou app.config do projeto do cliente, são adicionados vários itens.

  1. São adicionadas duas seções ao configSections, chamadas dataCacheClients e cacheDiagnostics.

    <!-- Non-cache sections omitted for space -->
      <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>
    
  2. Uma seção dataCacheClients é adicionada à seção configuration.

    <!-- Non-cache sections omitted for space -->
      <dataCacheClients>
        <dataCacheClient name="default">
          <!--To use the in-role flavor of Azure Caching, set identifier to be the cache cluster role name -->
          <!--To use the Azure Caching Service, set identifier to be the endpoint of the cache cluster -->
          <autoDiscover
            isEnabled="true" 
            identifier="[Cache role name or Service Endpoint]" />
          <!--<localCache isEnabled="true" sync="TimeoutBased" objectCount="100000" ttlValue="300" />-->
          <!--Use this section to specify security settings for connecting to your cache. 
              This section is not required if your cache is hosted on a role that is a part 
              of your cloud service. -->
          <!--<securityProperties mode="Message" sslEnabled="false">
            <messageSecurity authorizationInfo="[Authentication Key]" />
          </securityProperties>-->
        </dataCacheClient>
      </dataCacheClients>
    
    Substitua o [Cache role name or Service Endpoint] pela URL do ponto de extremidade que é exibida no Painel de Cache do Portal de Gerenciamento.


    Neste exemplo, o cache é chamado applicationcache, e a URL do ponto de extremidade é applicationcache.cache.windows.net.

    <autoDiscover isEnabled="true" identifier="applicationcache.cache.windows.net" />
    
    Remova os comentários da seção securityProperties e substitua [Authentication Key] por uma chave de autenticação.

    <!--Use this section to specify security settings for connecting to your cache. 
        This section is not required if your cache is hosted on a role that is a part 
        of your cloud service. -->
    <!--<securityProperties mode="Message" sslEnabled="false">
      <messageSecurity authorizationInfo="[Authentication Key]" />
    </securityProperties>-->
    
    
    Para encontrar a chave de autenticação no Portal de Gerenciamento, basta clicar em Gerenciar Chaves no painel do cache.

    WarningAviso
    Essas definições devem ser configuradas corretamente ou os clientes não conseguirão acessar o cache.

Para projetos de serviços em nuvem, o pacote NuGet do Serviço de cache gerenciado também adiciona uma configuração ClientDiagnosticLevel ao ConfigurationSettings da função de cliente de cache no ServiceConfiguration.cscfg. O exemplo a seguir é a seção WebRole1 de um arquivo ServiceConfiguration.cscfg com um ClientDiagnosticLevel de 1, que é o ClientDiagnosticLevel padrão.

<Role name="WebRole1">
  <Instances count="1" />
  <ConfigurationSettings>
    <!-- Other settings omitted for space... -->
    <Setting name="Microsoft.WindowsAzure.Plugins.Caching.ClientDiagnosticLevel" value="1" />
  </ConfigurationSettings>
</Role>
noteObservação
Para obter mais informações sobre níveis de diagnóstico de cache, consulte Sobre o ClientDiagnosticLevel para o Serviço de Cache Gerenciado do Azure.

Além de adicionar a configuração necessária, o pacote NuGet do Serviço de cache gerenciado também adiciona as seguintes referências de assembly.

  • Microsoft.ApplicationServer.Caching.Client.dll

  • Microsoft.ApplicationServer.Caching.Core.dll

  • Microsoft.ApplicationServer.Caching.AzureCommon.dll

  • Microsoft.ApplicationServer.Caching.AzureClientHelper.dll

  • Microsoft.WindowsFabric.Common.dll

  • Microsoft.WindowsFabric.Data.Common.dll

Se o projeto for da Web, a referência de assembly a seguir também será adicionada.

  • Microsoft.Web.DistributedCache.dll

O provedor de estado da sessão Cache do Microsoft Azure é um mecanismo de armazenamento fora de processo para aplicativos ASP.NET. Esse provedor permite que você armazene seu estado de sessão em um cache, e não na memória ou em um banco de dados do SQL Server. Quando você usa o pacote NuGet de cache para habilitar o cache, ele adiciona uma seção codificada como comentário para habilitar o provedor de estado de sessão de cache.

  1. Primeiro, configure um cache a ser usado com o provedor ASP.NET, conforme descrito na seção Configurar um cliente de cache usando o pacote Caching NuGet anterior.

  2. Remova qualquer elemento sessionState existente que configure o caching de estado da sessão. Não remova a seção sessionState comentada que foi adicionada pelo pacote NuGet.

  3. No arquivo web.config, remova os comentários da seção sessionState.

    <!-- Azure Caching session state provider -->
    <!--<sessionState mode="Custom" customProvider="AFCacheSessionStateProvider">
      <providers>
        <add name="AFCacheSessionStateProvider" type="Microsoft.Web.DistributedCache.DistributedCacheSessionStateStoreProvider, Microsoft.Web.DistributedCache" cacheName="default" dataCacheClientName="default" applicationName="AFCacheSessionState"/>
      </providers>
    </sessionState>-->
    
    

A lista a seguir fornece alterações opcionais na configuração que afetam o provedor de estado de sessão.

  • Altere o cache nomeado de destino com o atributo cacheName do elemento add.

  • Altere a origem das configurações de cliente de cache com o atributo dataCacheClientName do elemento add. Defina esse atributo como o nome de uma seção dataCacheClient existente no arquivo web.config.

  • Modifique o comportamento do cliente de cache alterando as configurações na seção dataCacheClient associada. Por exemplo, habilite a compressão com o atributo isCompressionEnabled.

    <dataCacheClient name="default" isCompressionEnabled="true">
      <!-- Other cache settings omitted -->
    </dataCacheClient>
    
    Para obter uma lista de opções de configuração disponíveis, consulte Configurações do cliente de cache para o Serviço de Cache Gerenciado do Azure. Observe que os provedores do ASP.NET para o caching não são compatíveis com tipos de serialização binária ou personalizada. Se esses serializadores forem usados para o estado da sessão, as seguintes exceções ocorrem: "O tipo 'Microsoft.Web.DistributedCache.SerializableSessionStateStoreData' no Assembly 'Microsoft.Web.DistributedCache, Versão=101.0.0.0, Cultura=neutra, PublicKeyToken=31bf3856ad364e35' não está marcado como serializável".

  • Altere as configurações para o provedor de estado da sessão. Para obter uma lista de opções de configuração disponíveis, consulte Configurações do provedor de estado da sessão do ASP.NET para Serviço de Cache Gerenciado do Azure.

O provedor de cache de saída de Cache do Microsoft Azure é um mecanismo de armazenamento fora de processo para dados de cache de saída. Esses dados são específicos para respostas HTTP (caching de saída de página). O provedor se conecta ao novo ponto de extensibilidade do provedor de cache de saída introduzido no ASP.NET 4. Quando você usa o pacote NuGet de cache para habilitar o cache, ele adiciona uma seção codificada como comentário para habilitar o provedor de saída de página de cache.

  1. Primeiro, configure um cache a ser usado com o provedor ASP.NET, conforme descrito na seção Configurar um cliente de cache usando o pacote Caching NuGet anterior.

  2. Use NuGet para adicionar suporte ao caching no seu projeto ASP.NET no Visual Studio. Para obter instruções, consulte Prepare Visual Studio for Azure Cache Service Client Application Development.

    ImportantImportante
    Estas etapas requerem o Gerenciador de Pacotes NuGet mais recente (versão 2.6.40627.9000 ou posterior). Para instalar o Gerenciador de Pacotes NuGet mais recente, consulte Gerenciador de Pacotes NuGet.

  3. Remova qualquer elemento caching existente que configure o caching de saída. Não remova a seção caching comentada que foi adicionada pelo pacote NuGet.

  4. No arquivo web.config, remova os comentários da seção caching.

        <!-- Azure Caching output caching provider -->
        <!--Uncomment this section to use Azure Caching for output caching-->
        <!--<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>-->
    

A lista a seguir fornece alterações opcionais na configuração que afetam o provedor de cache de saída.

  • Altere o cache nomeado de destino com o atributo cacheName do elemento add.

  • Altere a origem das configurações de cliente de cache com o atributo dataCacheClientName do elemento add. Defina esse atributo como o nome de uma seção dataCacheClient existente no arquivo web.config.

  • Modifique o comportamento do cliente de cache alterando as configurações na seção dataCacheClient associada. Por exemplo, habilite a compressão com o atributo isCompressionEnabled.

    <dataCacheClient name="default" isCompressionEnabled="true">
    
    Para obter uma lista de opções de configuração disponíveis, consulte Configurações do cliente de cache para o Serviço de Cache Gerenciado do Azure. Observe que os provedores do ASP.NET para o caching não são compatíveis com tipos de serialização binária ou personalizada.

  • Altere as configurações do provedor de cache de saída. Para obter uma lista de opções de configuração disponíveis, consulte Configurações do provedor de cache de saída de página do ASP.NET para Serviço de Cache Gerenciado do Azure.

Mostrar:
© 2014 Microsoft