Usuário com melhor resposta
Destruir session ao fechar uma pagina

Pergunta
-
Pessoal gostaria de uma ajuda, eu faço uso de sessions e em alguns casos utilizo a session para armazenar dados de um Datatable em uma pagina apenas não usando esses dados caso o usuário saia dessa pagina, então gostaria de uma ajuda, como posso fazer para que ao sair de uma pagina uma session seja destruida. Teria que usar um evento unload por exemplo do javascript ... se possível e puderem me dar uma dica sobre esse assunto.
Junior
Respostas
-
É dificil implementar isso. Quem gera a sessao é o browser e existem varios eventos que deveriam fechar a sessao mas nao sao capturados, por exemplo fechar o browser. Neste caso nenhum javascript é executado.
Nao existe magica para resolver esse tipo de problema, veja aqui uma longa discussao sobre esse assunto:
https://forums.asp.net/t/1116238.aspx?End+Session+When+Browser+Closed
Particularmente eu sou favoravel à sempre limpar as sessoes no PageLoad, como é feito com algumas paginas de banco por motivos de segurança. Note que mesmo o uso do back força o usuario à se relogar.
William John Adam Trindade
Analyste-programmeur
----------------------------------------------------------
- Marcado como Resposta Robson William SilvaModerator quarta-feira, 5 de outubro de 2016 17:17
Todas as Respostas
-
Olá,
Eu colocaria em um botão/evento de logoff do sistema. Lá é só adicionar:
Caso queira zerar uma Session específica use:
Session.Remove("nome_da_session");
Se deseja zerar todas:
Session.Abandon();
Valeu!
Se a resposta for relevante ou tenha resolvido seu problema, marque como útil/resposta!
André Secco
Microsoft MSP & MSDN Tech Advisor
Blog: http://andresecco.com.br
GitHub: http://github.com/andreluizsecco
Twitter: @andre_secco -
É dificil implementar isso. Quem gera a sessao é o browser e existem varios eventos que deveriam fechar a sessao mas nao sao capturados, por exemplo fechar o browser. Neste caso nenhum javascript é executado.
Nao existe magica para resolver esse tipo de problema, veja aqui uma longa discussao sobre esse assunto:
https://forums.asp.net/t/1116238.aspx?End+Session+When+Browser+Closed
Particularmente eu sou favoravel à sempre limpar as sessoes no PageLoad, como é feito com algumas paginas de banco por motivos de segurança. Note que mesmo o uso do back força o usuario à se relogar.
William John Adam Trindade
Analyste-programmeur
----------------------------------------------------------
- Marcado como Resposta Robson William SilvaModerator quarta-feira, 5 de outubro de 2016 17:17
-
Essas questões de session são complicadas, mas vou analisar essa possibilidade de dependendo da logica empregada nas paginas vou usar essa dica de limpar a session dentro do LOAD da pagina pois meu caso não seria para limpar o login de usuario seria mais para limpar a session que uso para armazenar um Datatable que estou alimentando momentaneamente ou seja estou desconectado do Banco de Dados pois em alguns casos faço uso desse formato para somente depois inserir os registros no Banco de Dados para que não se fique gerando "lixo" desnecessario em minha base.
Junior