Como armazenar sessões do ASP.NET no SQL Server

Olá pessoal, tudo bom?

É possível armazenar sessões dos aplicativos ASP.NET no banco de dados SQL Server. Isso é interessante, principamente para quando você tem uma situação de balanceamento de carga e pretende fazer com que sua aplicação, que está em servidores distintos, possa compartilhar as mesmas variáveis de sessão.

Vamos às configurações:

1) No arquivo web.config de sua aplicação faça a seguinte declaração entre as tags <system.web>.


<configuration>
  <system.web>
    <sessionState mode="SQLServer" cookieless="false" regenerateExpiredSessionId="true"
timeout="30" sqlConnectionString="Server=localhost\sqlexpress;User ID=sa;Password=a12345z"
stateNetworkTimeout="30"/>
  </system.web>
</configuration>

Na configuração acima, está sendo indicado para a aplicação que a mesma irá armazenar suas sessões no SQL Server, que ela deve utilizar cookies para armazenar o Session.SessionID, que deve regenerar sessões expiradas, que o tempo máximo de inatividade de uma sessão será de 30 minutos, que o servidor SQL Server é indicado pela instância localhost\sqlexpress, que o usuário é sa, que a senha do sa é a12345z e que o tempo de espera pela conexão de rede ao SQL Server é de no máximo 30 segundos.

2) Agora é necessário instalar o banco de dados ASPState para que o mesmo possa armazenar as sessões das aplicações. Para isso, clique no menu Iniciar, aponte para Todos os Programas, e para Microsoft Visual Studio 2010 -> Visual Studio Tools -> Visual Studio Command Prompt (2010). Digite a instrução a seguir:

aspnet_regsql.exe -S localhost\sqlexpress -U sa -P a12345z -ssadd -sstype p

Onde:

-S = instância do SQL Server onde o banco de dados ASPState será criado,
-U = usuário que será utilizado para se conectar ao BD,
-P = senha do usuário que será utilizado para se conectar ao BD,
-ssadd = adiciona o banco de dados de sessão e
-sstype = indica o local o as sessões serão armazenas, no caso, o próprio banco ASPState

Caso você esteja utilizando alguma versão do SQL Server Express, será necessário executar as seguintes instruções no SQL Server Query Analyser antes da execução do passo 2.

execute sp_configure ‘show advanced options’,1
reconfigure with override
execute sp_configure ‘Agent XPs’,1
reconfigure with override
execute sp_configure ‘show advanced options’,0
reconfigure with override

É isso!

Grande abraço a todos!
Eduardo Henrique Rizo

Anúncios

Coordenador de Internet da Universidade do Oeste Paulista (Unoeste) e professor universitário de disciplinas relacionadas ao desenvolvimento de sistemas para Web, gerenciamento de servidores, serviços e redes.

Marcado com: , , , , , , ,
Publicado em ASP.NET, Desenvolvimento Web, Gerenciamento de Servidores, Microsoft, SQL Server, Windows Server

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

Erro: o Twitter não respondeu. Por favor, aguarde alguns minutos e atualize esta página.

Sorocaba e Região
Prestadora de serviços RIZZO GS - Sorocaba/SP

Serviços de limpeza, conservação, recepção, copa, portaria, vigia, zeladoria, jardim, elétrica, hidráulica, pintura, etc.

Contato: (15) 3357-4263 / (15) 3357-4502 - contato@rizzogs.com.br

Website: http://www.rizzogs.com.br

%d blogueiros gostam disto: