sexta-feira, 9 de julho de 2010

Melhorando o tempo de expiração da sessão

Uma das dificuldades enfrentadas pelos usuários em sistemas WEB é o fato de que, antes de completar um formulário, com muitos dados, complexo, chato,  o tempo de sessão expira antes do pressionamento do botão confirmar. Já viu isso? eu já

O ASP.NET utiliza o arquivo web.config para configurar a aplicação web, existindo diversos parâmetros que podem ser controlados. Nosso interesse nesse instante é apenas no tempo de expiração da sessão.

Utilizo o exemplo abaixo para estabelecer um tempo de expiração de 2000 segundos, de inatividade do usuário.



Os parametros significam:

  • Mode.  inproc, que significa que o estado da sessão é gerenciada como um processo no servidor, e qualquer se o processo é desligado o estado é perdido, em outras palavras, se você desligar o servidor por um curto periodo de tempos as sessões serão todas desligadas
  • Cookieless. é um parâmetro booleano e significa que não será gravado cookie na máquina do cliente.
  • Timeout. esta opção determina o tempo em que uma sessão será considerada válida a partir de uma determinada chamada, ou seja, considera-se o horário da chamada + o tempo definido nesse parâmetro para que a sessão seja fechada automaticamente.  A cada chamada do usuário ativo fará com que o contator seja zerado novamente.
Para maiores informações melhor consultar a fonte: http://msdn.microsoft.com/en-us/library/ms972429.aspx