Você está na página 1de 3

Articles of Robson Alves

Session State
2011-04-20 00:04:33 Robson Alves

Gefällt mir 2

Share
0

Vou falar um pouco dos tipos de status existentes nas sessions geradas na aplicação

Por Que Se Preocupar?


Os tipos de session possuim certas limitações que devem ser consideradas, após analisar o nível de
acesso que o sistema terá ao longo do tempo, o tipo de hospedagem que este terá (Caso seja por
terceiros), trâfego absoluto que o site tem.
Tudo isto deve ser levado em consideração na hora de utilizar Session em um sistema, a seguir ficará
mais claro os porquês desta preocupação.

Quais são os tipos ?


Os tipos são:
Inproc: Considerado o mais rápido dos tipos existente, por manter objetos em memória
junto com o processo do ASP.Net.

StateServer: Aqui toda a sessão é serializada, assim tendo uma perca de performace quando
comparado ao InProc, entretanto existe a possibilidade de enviar esta sessão para outro servidor tornar-
se resposável pelo armazenamento destas informações, podendo assim ser uma boa escolha.
Largamente recomendado quando existe um grande fluxo de usuário no site.
Para utilizar este serviço, procure nos serviços do Windows o processo chamado: ASP.NET State
Services, para tal digite no executar, services.msc.
Para descobrir a porta do servidor qual será configurado para armazenar é necessário encontrar nos
registros o mesmo.

SQLServer: Sim, a session é armazenada em banco de dados, e possuí também certa desvatagem
performática, quando comparado ao Inproc, entretanto esta forma permite que a sessão seja recuperada
desde que dentro da “Validade” da sessão gerada.

Para informar o tempo que será válida a sessão, assim como qual servidor atendará no armazenamento
das informações das sessões ou qual o servidor e instâncias que será utilizado.

Web-Config
Para cada tipo respectivamente, segue como deve ser declarado no Web.Config.
Inproc:

<system.web>
<sessionState

mode="InProc"

timeout="1"

cookieless="false">

</sessionState>

</system.web>

StateServer:

<sessionState
mode="StateServer"

cookieless="false"

stateNetworkTimeout="20"
stateConnectionString="127.0.0.1:42424">

</sessionState>

SqlServer

<sessionState
mode="StateServer"

timeout="20"

cookieless="false"

sqlConnectionString="Data Source=127.0.0.1;Trusted_Connection=Yes;">

</sessionState>

Usando o Cookieless igual a "False", quer dizer que será gerado junto com a sessão Cookies.

Eu iria listar vantagem e desvantagens de cada um, mas isso tornaria uma análise extremamente
pessoal, e como foi citado inicialmente isso deve ser utilizado após a análise das necessidades do
sistema.

Para buscarem mais detalhes sobre este assunto:

http://www.codeproject.com/KB/aspnet/ExploringSession.aspx

Obrigado.

Você também pode gostar