Banco de Dados - SQL Server

Armazenando Session State no MS SQL Server

Neste artigo veremos como implementar Session State utilizando MS SQL Server.

por Cristian Arrano Townsend



Uma das mudanças radicais que teve o desenvolvimento web por parte da Microsoft foi o gerenciamento do estado das variáveis de Sessão (Session). Digo “desenvolvimento web por parte da Microsoft” porque é quase uma calúnia dizer que o ASP.NET é uma evolução do ASP 3.0.

E uma das mudanças do objeto Session foi a possibilidade de trabalhar armazenando os valores das variáveis no MS SQL Server.

Para que? Um Web Farm, por exemplo. Sem dúvida é que mais se justifica.

Sim, neste artigo veremos como implementar Session State utilizando MS SQL Server.

Primeiro que nada, temos que instalar o banco de dados que armazenará os valores. Para instalar o banco de dados, execute no Query Analyser o arquivo InstallSqlState.sql, localizado no diretório .NET (c:\winnt\microsoft.net\framework\v1.x.xxxx).

O script gera duas tabelas no banco de dados tempdb, como é mostrado na figura abaixo.

Agora vem a parte de configurar a aplicação no Web.Config.

Insira o seguinte código:

<sessionState mode="SQLServer" sqlConnectionString="data source=localhost;uid=sa;pwd=" 
cookieless="false" timeout= "20" />

Criando uma variável Session

Crie um Webform na sua aplicação e insira o seguinte código:

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

   Session("usuario") = "Utilizando MS SQL para armazenar Session State."

End Sub

Quando a página é carregada, criará uma variável de sessão que você poderá ver no conteúdo da tabela ASPStateTempSessions no banco de dados tempdb.

Para ler o contéudo da variável de sessão, crie outro webform e escreva o seguinte código

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

   Response.Write(Session("usuario"))

End Sub

Gostou, testou mas não vai utilizar? É só desinstalar executando o script UnistallSqlState.sql.

Keep coding.

Cristian Arrano Townsend

Cristian Arrano Townsend - Trabalha há 12 anos com desenvolvimento de software. Atualmente trabalha como consultor da FCAMARA em Curitiba, trabalhando com .NET, Metodologias Ágeis e Sharepoint. Possui algumas certificações Microsoft .NET e é Certified Scrum Master