Utilizando variáveis de sessão com o Windows Azure
- Posted: Mar 12, 2012 at 7:49 PM
- 1,580 Views
Uma das alterações necessárias para migrar uma aplicação para o Windows Azure é a utilização de variáveis de sessão, isso porque ao utilizar mais de uma instância, sua aplicação utilizará automaticamente um load balancer (balanceador de carga). E ao utilizar um load balancer, não tem com garantir que a requisição do usuário vai utilizar sempre a mesma máquina.
Umas das maneiras de resolver esse problema é utilizar Windows Azure Cache, nesse artigo iremos configurar a aplicação TailspinSpyworks para utilizar o Windows Azure Cache, no final do artigo você conseguirá baixar o projeto com as alterações necessárias aplicadas.
Passo 1 – Provisionar o serviço de Cache
Neste passo você criará uma nova subscrição para usar Windows Azure Caching.
Preencha os dados solicitados na janela "Criar um novo namespace de serviço" (Cache Service Namespace) com:
Status ativo do Namespace
Copiando o XML de configuração do Windows Azure Cache.
Passo 2 – Configurando o Session State provider da aplicação para usar o Windows Azure AppFabric Caching
Neste passo você vai alterar o Session State provider para usar o mecanismo de Cache do Windows Azure. Este passo requer que você adicione algumas referências no projeto TailspinSpyworks e altere o arquivo de configuração Web.config.
Em segida clique em OK.
<configuration>
<configSections>
<section name="dataCacheClients" type="Microsoft.ApplicationServer.Caching.DataCacheClientsSection, Microsoft.ApplicationServer.Caching.Core"
allowLocation="true" allowDefinition="Everywhere"/>
</configSections>
.....
</configuration>
</configSections>
<dataCacheClients>
<dataCacheClient name="default">
<hosts>
<host name="[SERVICE-HOST-NAME]" cachePort="22233" />
</hosts>
<securityProperties mode="Message">
<messageSecurity
authorizationInfo="[AUTHORIZATION INFO]">
</messageSecurity>
</securityProperties>
</dataCacheClient>
</dataCacheClients>
<dataCacheClients>
<dataCacheClient name="SslEndpoint">
<hosts>
<host name="[SERVICE-HOST-NAME]" cachePort="22243" />
</hosts>
<securityProperties mode="Message">
<messageSecurity
authorizationInfo="[AUTHORIZATION INFO]">
</messageSecurity>
</securityProperties>
</dataCacheClient>
</dataCacheClients>
...
<system.web>
<sessionState mode="Custom" customProvider="AppFabricCacheSessionStoreProvider">
<providers>
<add name="AppFabricCacheSessionStoreProvider"
type="Microsoft.Web.DistributedCache.DistributedCacheSessionStateStoreProvider, Microsoft.Web.DistributedCache"
cacheName="default"
useBlobMode="true"
dataCacheClientName="default" />
</providers>
</sessionState>
<compilation debug="true" targetFramework="4.0">Agora a aplicação já está pronta para utilizar o Windows Azure Cache como mecanismo controle de sessão. Para testar para pressionar <F5> no Visual Studio e navegar pelo site.
Faça download da aplicação, configurada clicando aqui.
Este artigo foi realizado com base em um Hands-on-Lab realizado pelo Rogério Cordeiro.
Obrigado, e continue migrando.
Vinícius
Comments have been closed since this content was published more than 30 days ago, but if you'd like to continue the conversation,
please create a new thread in our Forums,
or
Contact Us and let us know.
Follow the Discussion
Oops, something didn't work.
What does this mean?
Following an item on Channel 9 allows you to watch for new content and comments that you are interested in. You need to be signed in to Channel 9 to use this feature.What does this mean?
Following an item on Channel 9 allows you to watch for new content and comments that you are interested in and view them all on your notifications page.sign up for email notifications?