ASP.NET StateServer

Quando desenvolvemos uma aplicação em .NET Web observamos a perda de sessão do browser->IIS a cada processo de compilação.

E, no momento de desenvolvimento, a perda de sessão implica em voltar à página de login ou perder alguma informação em tela já que o browser se recicla.

A ASP.NET permite ser configurada para que os dados de sessão sejam armazenados em outra área de memória que não seja a do processo onde se executa a aplicação (que é desta forma na configuração padrão).

Uma das opções é implementar um StateServer no mesmo servidor web de trabalho, habilitando um serviço do windows que está pardo por padrão. Trata-se do serviço "ASP.NET State Service". Ele irá criar uma área isolada de memória onde a sessão da aplicação web pode ser armazenada de forma independente ao processo que a executa.

O segundo passo é informar à aplicação web que ela deve isar este serviço para armazenar os dados da sessão web.

Para isso basta configurar o arquivo web.config, no ponto do nó <system.web>

Este seria um código funcional para o serviço "ASP.NET State Service" executando no mesmo servidor onde está instalado o IIS :

  <system.web>

    <sessionState 

         mode="StateServer" 

         cookieless="false" 

         timeout="60" 

         stateConnectionString="tcpip=127.0.0.1:42424" 

         stateNetworkTimeout="10" />

Para maiores informações sobre a configuração de ServerState esta é a página de help da MSDN :

http://msdn.microsoft.com/en-us/library/h6bb9cz9(v=vs.71).aspx