Robson Alves O que torna um sonho irrealizável é a inércia de quem sonha

20abr/110

Session State

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.
explor10Para
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. explor5

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.

Nenhum Post Relacionado.

Posted by Robson Alves

Comentários (0) Trackbacks (0)

Sem comentários


Leave a comment

(required)

Sem trackbacks