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 marcaconfiguration
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 elementosdataCacheClient
que configuram clientes de cache e especificam os hosts de cache.caching
: esse elemento é um filho do elementosystem.web
. Ele contém o elementooutputCache
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 atributocacheName
especifica o cache nomeado que será usado. O atributodataCacheClientName
especifica qual seção dedataCacheClient
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
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.
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.
Copie o elemento
configSections
do exemplo depois que executar essas etapas no arquivo web.config. Verifique se este é o primeiro elemento dentro das marcasconfiguration
.Copie o elemento
dataCacheClients
do exemplo depois que executar essas etapas no arquivo web.config. Ele deve ser adicionado após o elementoconfigSections
, dentro do elementoconfiguration
.- Configure os atributos
name
ecachePort
dos elementos de host para que correspondam aos servidores de cache no seu ambiente. Adicione ou remova elementos de host conforme apropriado.
- Configure os atributos
Copie o elemento
caching
do exemplo depois que executar essas etapas no arquivo web.config. Ele deve estar posicionado dentro do elementosystem.web
. Especifique os atributoscacheName
edataCacheClientName
, além das outras configurações necessárias.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
.
Primeiro, adicione o elemento
configSections
ao arquivo web.config como o primeiro elemento no elementoconfiguration
:<!--configSections must be the FIRST element --> <configSections> <section name="dataCacheClients" type="Microsoft.ApplicationServer.Caching.DataCacheClientsSection, Microsoft.ApplicationServer.Caching.Core" allowLocation="true" allowDefinition="Everywhere"/> </configSections>
Em seguida, adicione um único elemento
dataCacheClients
que contenha um ou mais elementosdataCacheClient
. Adicione-o ao arquivo web.config depois do elementoconfigSections
. É 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>
Depois que os elementos
configSections
edataCacheClients
forem adicionados, acrescente o elementocaching
no arquivo web.config, dentro do elementosystem.web
. É nesse ponto que você especifica o cache que o aplicativo web usará para armazenar dados de cache de saída. Personalize os atributoscacheName
edataCacheClientName
, 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