Exportar (0) Imprimir
Expandir Tudo

Provedor de estado da sessão para o Azure Cache

Atualizado: novembro de 2012

O provedor de estado da sessão Azure é um mecanismo de armazenamento fora de processo para aplicativos ASP.NET. Esse provedor permite que você armazene seu estado da sessão em um cache Azure, e não na memória ou em um banco de dados SQL Server.

Para obter um exemplo de cache de estado da sessão, consulte Exemplo de Cache de Saída e Cache de Estado de Sessão.

Recursos

O provedor de estado da sessão Azure possui os seguintes aprimoramentos sobre os provedores de estado da sessão ASP.NET anteriores:

  • Ele usa internamente a classe NetDataContractSerializer para a serialização do estado da sessão.

  • Ele pode compartilhar o estado da sessão entre diferentes aplicativos ASP.NET.

  • Ele é compatível com o acesso simultâneo ao mesmo conjunto de estados da sessão para diversos leitores e um único gravador.

  • A compactação pode ser usada por meio das propriedades de cliente de cache.

O uso da classe NetDataContractSerializer para a serialização resulta no suporte de uma gama mais ampla de tipos serializados. Isso inclui o suporte para tipos serializados binários.

O provedor é compatível com a capacidade que os diferentes aplicativos ASP.NET possuem de ler e gravar os mesmos dados de estado da sessão. Por exemplo, suponhamos que um desenvolvedor possui dois sites ASP.NET diferentes: /contoso e /adventureworks. O provedor de estado da sessão pode ser configurado em cada aplicativo web para apontar para o mesmo repositório do estado da sessão no cluster de cache. Como resultado, ambos os aplicativos lerão e gravarão os mesmos dados da sessão para qualquer identificador de determinada sessão.

O provedor de estado da sessão é compatível com o acesso simultâneo ao mesmo conjunto de estados da sessão para diversos leitores e um único gravador. Nesse caso, os leitores são definidos como páginas que são marcadas usando o estado da sessão ReadOnly Os aplicativos que usarem os retornos de chamadas AJAX de forma intensa não experimentarão o enfileiramento de solicitações do servidor se a maioria dos padrões de acesso de estado da sessão exigir apenas o acesso somente leitura ao estado da sessão.

Para adicionar um provedor de estado de sessão a um projeto ASP.NET

  1. Primeiro, configure o cache a ser usado com o provedor ASP.NET. É possível hospedar um Cache com uma topologia colocalizada ou com uma função dedicada.

  2. Use NuGet para adicionar suporte ao Cache no seu projeto ASP.NET no Visual Studio. Para obter instruções, consulte Como: preparar o Visual Studio para usar o cache em função (Azure Cache).

    ImportantImportante
    Estas etapas requerem o Gerenciador de Pacotes NuGet mais recente (versão 2.1.31002.9028 ou superior). Para instalar o Gerenciador de Pacotes NuGet mais recente, acesse http://go.microsoft.com/fwlink/?LinkId=240311.

  3. 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.

  4. 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 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 Definições da configuração do cliente de cache em função (Web.config). Observe que os provedores do ASP.NET para o Cache 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 Definições de configuração do provedor de estado da sessão ASP.NET (Azure Cache).

Para usar o provedor com o Shared Caching, consulte Como: Configurar o Provedor de Estado da Sessão ASP.NET (Azure Shared Caching).

Nesta Seção

Consulte também

Contribuições da comunidade

ADICIONAR
Mostrar:
© 2014 Microsoft