<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" media="screen" href="/styles/xslt/rss.xslt"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:c9="http://channel9.msdn.com">
<channel>
	<title>Comment Feed for Channel 9 - Utilizando vari&#225;veis de sess&#227;o com o Windows Azure</title>
	<atom:link rel="self" type="application/rss+xml" href="http://channel9.msdn.com/posts/Utilizando-variveis-de-sesso-com-o-Windows-Azure/rss"></atom:link>
	<image>
		<url>http://files.channel9.msdn.com/thumbnail/8ae2c941-bce3-41a6-8bc1-7a796ff73008.png</url>
		<title>Channel 9 - Utilizando vari&#225;veis de sess&#227;o com o Windows Azure</title>
		<link></link>
	</image>
	<description>Uma das altera&#231;&#245;es necess&#225;rias para migrar uma aplica&#231;&#227;o para o Windows Azure &#233; a utiliza&#231;&#227;o de vari&#225;veis de sess&#227;o, isso porque ao utilizar mais de uma inst&#226;ncia, sua aplica&#231;&#227;o utilizar&#225; automaticamente um load balancer (balanceador de carga). E ao utilizar um load balancer, n&#227;o tem com garantir que a requisi&#231;&#227;o do usu&#225;rio vai utilizar sempre a mesma m&#225;quina. Umas das maneiras de resolver esse problema &#233; utilizar Windows Azure Cache, nesse artigo iremos configurar a aplica&#231;&#227;o TailspinSpyworks para utilizar o Windows Azure Cache, no final do artigo voc&#234; conseguir&#225; baixar o projeto com as altera&#231;&#245;es necess&#225;rias aplicadas. Passo 1 – Provisionar o servi&#231;o de Cache Neste passo voc&#234; criar&#225; uma nova subscri&#231;&#227;o para usar Windows Azure Caching. Acesse pelo Internet&amp;nbsp;Explorer&amp;nbsp;o portal do Windows Azure Platform https://windows.azure.com.&amp;nbsp; Se necess&#225;rio, fa&#231;a login com sua conta&amp;nbsp;do Windows Live. No&amp;nbsp; Barramento de servi&#231;os, Controle de&amp;nbsp;acesso e Cache (Service Bus,&amp;nbsp;Access Control &amp;amp; Caching), painel do lado esquerdo, clique em Cache. &amp;nbsp; Clique no bot&#227;o Novo&amp;nbsp;namespace de Servi&#231;o (New Namespace) para criar uma nova instancia de cache. &amp;nbsp; &amp;nbsp;Preencha os dados solicitados na janela &amp;quot;Criar um novo namespace de servi&#231;o&amp;quot; (Cache Service Namespace) com: Nome; Escolha um pa&#237;s/regi&#227;o (OBS: Aten&#231;&#227;o&amp;nbsp;para deixar no mesmo servidor das roles de compute); Assinatura que ser&#225;&amp;nbsp;utilizada; Cota do&amp;nbsp;tamanho de cache (Connection Pack Size) e clique em Criar Namespace. Localize a nova entrada na&amp;nbsp;lista dos servi&#231;os e aguarde o Status do namespace ficar Ativo. &amp;nbsp; &amp;nbsp;Status ativo do Namespace &amp;nbsp; Clique no namespace criado, e&amp;nbsp;&amp;nbsp;no painel de propriedades (a direita da tela) localize e copie os valores&amp;nbsp;dos campos URL do servi&#231;o (Service URL) e&amp;nbsp;Porta do&amp;nbsp;servi&#231;o&amp;nbsp;(Service Port).&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  Clique no bot&#227;o Exibir&amp;nbsp; (View) do&amp;nbsp;&amp;nbsp;campo Token de&amp;nbsp;&amp;nbsp;Autentica&#231;&#227;o&amp;nbsp;(Authentication Token) do painel de propriedades. Na janela Token de Autentica&#231;&#227;o&amp;nbsp;(Authentication Token) clique no bot&#227;o Copiar para a &#225;rea de transfer&#234;ncia&amp;nbsp;(Copy to Clipboard).&amp;nbsp;Para facilitar os pr&#243;ximos passos, use o notepad para guardar as &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; configura&#231;&#245;es. &amp;nbsp; &amp;nbsp; Clique em Exibir Configura&#231;&#227;o de cliente (View Client Configuration), veja imagem abaixo e&amp;nbsp;selecione todo o texto da janela Configura&#231;&#227;o do Cliente (Client Configuration). Digite &amp;lt;CTRL &amp;#43; C&amp;gt; para copiar e cole o texto no notepad para usar nos&amp;nbsp;pr&#243;ximos passos. Este XML tem as configura&#231;&#245;es necess&#225;rias&amp;nbsp;para acessar o Windows Azure Caching Access Control. &amp;nbsp; &amp;nbsp;Copiando o XML de configura&#231;&#227;o do Windows Azure Cache. &amp;nbsp; Passo 2 – Configurando o Session State provider da aplica&#231;&#227;o para usar o Windows Azure AppFabric Caching Neste passo voc&#234; vai alterar o Session State provider para usar o mecanismo de Cache do Windows Azure. Este passo requer que voc&#234; adicione algumas refer&#234;ncias no projeto TailspinSpyworks e altere o arquivo de configura&#231;&#227;o Web.config. Execute o Visual Studio como administrador.&amp;nbsp;Acesse Start | All Programs | Microsoft Visual Studio e clique com o bot&#227;o direito do mouse no atalho para o Microsoft Visual Studio e escolha Run as &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; administrator; Se a janela User Account Control aparecer, clique Yes. Na op&#231;&#227;o File do menu, escolha Open e em seguida, selecione Project/Solution. Na janela Open Project, procure o arquivo TailspinSpyworks.sln para abrir a solu&#231;&#227;o. No Solution Explorer, clique com o bot&#227;o direito do mouse no projeto TailspinSpyworks&amp;nbsp;| e selecione Add&amp;nbsp;Reference&amp;nbsp;| selecione a aba Browse. Navegue&amp;nbsp;at&#233; a pasta %Program Files%\Windows Azure SDK\v1.6\Cache\refe selecione os assemblies: Microsoft.ApplicationServer.Caching.Client; Microsoft.ApplicationServer.Caching.Core; Microsoft.Web.DistributedCache. Em segida clique em OK. &amp;nbsp; Garanta que os assemblies&amp;nbsp;fa&#231;am parte do pacote. Para fazer isto, clique com o bot&#227;o da direita do&amp;nbsp;mouse na referencia Microsoft.ApplicationServer.Caching.Client | Properties. Na janela de propriedades, verifique se a op&#231;&#227;o Copy Local&amp;nbsp;&#233; igual&amp;nbsp;a True. Repita este passo para os outros assemblies, inclu&#237;dos no passo anterior. &amp;nbsp; Abra o arquivo Web.config, localizado na raiz do projeto TailspinSpyworks. Volte para o notepad com as configura&#231;&#245;es do Windows Azure Cache e copie o texto dentro da tag ConfigSections &amp;nbsp; Volte para o Visual Studio&amp;nbsp;e cole a sess&#227;o dentro da tag configuration do web.config. Garanta que este seja o&amp;nbsp;primeiro elemento dentro da tag configuration. &amp;nbsp;&amp;lt;configuration&amp;gt;
   &amp;lt;configSections&amp;gt;
       &amp;lt;section name=&amp;quot;dataCacheClients&amp;quot; type=&amp;quot;Microsoft.ApplicationServer.Caching.DataCacheClientsSection, Microsoft.ApplicationServer.Caching.Core&amp;quot;
                  allowLocation=&amp;quot;true&amp;quot; allowDefinition=&amp;quot;Everywhere&amp;quot;/&amp;gt;
     &amp;lt;/configSections&amp;gt;
.....

&amp;lt;/configuration&amp;gt;      
 Volte para o notepad e copie a configura&#231;&#227;o dataCacheClients.  Volte para o Visual Studio e cole a configura&#231;&#227;o que voc&#234; copiou logo ap&#243;s a tag configSections como mostra abaixo.      &amp;lt;/configSections&amp;gt;
      
     &amp;lt;dataCacheClients&amp;gt;
       &amp;lt;dataCacheClient name=&amp;quot;default&amp;quot;&amp;gt;
         &amp;lt;hosts&amp;gt;
           &amp;lt;host name=&amp;quot;[SERVICE-HOST-NAME]&amp;quot; cachePort=&amp;quot;22233&amp;quot; /&amp;gt;
         &amp;lt;/hosts&amp;gt;
      
         &amp;lt;securityProperties mode=&amp;quot;Message&amp;quot;&amp;gt;
           &amp;lt;messageSecurity
             authorizationInfo=&amp;quot;[AUTHORIZATION INFO]&amp;quot;&amp;gt;
           &amp;lt;/messageSecurity&amp;gt;
         &amp;lt;/securityProperties&amp;gt;
       &amp;lt;/dataCacheClient&amp;gt;
     &amp;lt;/dataCacheClients&amp;gt;
       
     &amp;lt;dataCacheClients&amp;gt;
       &amp;lt;dataCacheClient name=&amp;quot;SslEndpoint&amp;quot;&amp;gt;
         &amp;lt;hosts&amp;gt;
           &amp;lt;host name=&amp;quot;[SERVICE-HOST-NAME]&amp;quot; cachePort=&amp;quot;22243&amp;quot; /&amp;gt;
         &amp;lt;/hosts&amp;gt;
      
         &amp;lt;securityProperties mode=&amp;quot;Message&amp;quot;&amp;gt;
           &amp;lt;messageSecurity
             authorizationInfo=&amp;quot;[AUTHORIZATION INFO]&amp;quot;&amp;gt;
           &amp;lt;/messageSecurity&amp;gt;
         &amp;lt;/securityProperties&amp;gt;
       &amp;lt;/dataCacheClient&amp;gt;
     &amp;lt;/dataCacheClients&amp;gt;
 A ultima sess&#227;o que voc&#234;&amp;nbsp;&amp;nbsp;precisa configurar &#233; a sessionState provider, e para fazer isto, volte&amp;nbsp;&amp;nbsp;para o notepad e copie o elemento sessionState. &amp;nbsp; Volte para o Visual Studio&amp;nbsp;e cole o elemento copiado dentro da sess&#227;o system.web.      ...
     &amp;lt;system.web&amp;gt;
      
       &amp;lt;sessionState mode=&amp;quot;Custom&amp;quot; customProvider=&amp;quot;AppFabricCacheSessionStoreProvider&amp;quot;&amp;gt;
         &amp;lt;providers&amp;gt;
           &amp;lt;add name=&amp;quot;AppFabricCacheSessionStoreProvider&amp;quot;
                 type=&amp;quot;Microsoft.Web.DistributedCache.DistributedCacheSessionStateStoreProvider, Microsoft.Web.DistributedCache&amp;quot;
                 cacheName=&amp;quot;default&amp;quot;
                 useBlobMode=&amp;quot;true&amp;quot;
                 dataCacheClientName=&amp;quot;default&amp;quot; /&amp;gt;
         &amp;lt;/providers&amp;gt;
       &amp;lt;/sessionState&amp;gt;
      

  &amp;lt;compilation debug=&amp;quot;true&amp;quot; targetFramework=&amp;quot;4.0&amp;quot;&amp;gt; &amp;nbsp;Digite &amp;lt;CTRL &amp;#43; S&amp;gt; para salvar o arquivo Web.config. Agora a aplica&#231;&#227;o j&#225; est&#225; pronta para utilizar o Windows Azure Cache como mecanismo controle de sess&#227;o. Para testar para pressionar &amp;lt;F5&amp;gt; no Visual Studio e navegar pelo site. Fa&#231;a download da aplica&#231;&#227;o, configurada clicando aqui. Este artigo foi realizado com base em um Hands-on-Lab realizado pelo Rog&#233;rio Cordeiro. Obrigado, e continue migrando. Vin&#237;cius </description>
	<link></link>
	<language>en</language>
	<pubDate>Sat, 25 May 2013 14:35:21 GMT</pubDate>
	<lastBuildDate>Sat, 25 May 2013 14:35:21 GMT</lastBuildDate>
	<generator>Rev9</generator>
</channel>
</rss>