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