Opções para manipulação de sessões no IIS

2

Quais opções existem para o manuseio de sessão com uma arquitetura moderna da Web do IIS .NET?

Eu entendo que o suporte à sessão nativa do IIS perde as sessões após a reinicialização. Além disso, a Microsoft recomenda que as sessões sejam armazenadas no banco de dados, que é a minha solução preferida.

Estou tentando arquitetar uma plataforma .NET IIS altamente disponível, que é dimensionada horizontalmente para um aplicativo de terceiros. O aplicativo é desenvolvido externamente e enquanto eu posso empurrar para armazenar em um banco de dados, mas isso não será possível para um prazo imediato.

O terceiro recomenda o uso de sessões persistentes , algo que evito. Sessões aderentes diminuirão a disponibilidade, pois quando o servidor da Web ficar indisponível, causará problemas de acessibilidade aos clientes que o estavam usando anteriormente. Além disso, diminui a funcionalidade de balanceamento de carga, já que um único servidor pode receber potencialmente mais solicitações que os outros. O IIS ainda perderá as sessões após a reinicialização, algo que eu preferiria eliminar. Eu também não quero armazenar a sessão em um cookie no lado do cliente.

Desejo ativar a alta disponibilidade completa e, ao mesmo tempo, permitir a implantação de aplicativos em servidores inativos sem impacto. Além disso, balanceamento de carga total. Posso habilitar essa funcionalidade nesta plataforma de tecnologia sem reescrever o aplicativo? Quais opções eu tenho?

    
por Warner 03.09.2010 / 00:35

2 respostas

5

O ASP.net 2.0 ou superior suporta o armazenamento de sessão no SQL Server simplesmente alterando o provedor SessionState no web.config e usando aspnet_regsql.exe para configurar o banco de dados SQL. Você pode ler mais sobre como configurar o Provedor do Estado da Sessão na página MSDN - Provedores do Estado da Sessão .

Atualização: uma leitura muito mais fácil com instruções passo-a-passo também está disponível na MSDN - Sessão Modos de estado page.

    
por 03.09.2010 / 05:17
1

Conversamos sobre a modularidade dos provedores de estado de sessão do .NET no Ohio Linux Fest e mencionei que alguém poderia criar um cache na memória distribuído para o estado da sessão do .NET. Um cliente me perguntou sobre isso hoje cedo e eu encontrei este produto que parece fazer exatamente isso.

    
por 06.10.2010 / 02:23