Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   ASPX (.net) (http://www.forosdelweb.com/f78/)
-   -   Uso adecuado de las variables de Session (?) (http://www.forosdelweb.com/f78/uso-adecuado-las-variables-session-362690/)

clalevia 10/01/2006 09:49

Uso adecuado de las variables de Session (?)
 
Hola

Ayer estuve leyendo algo que llamo mucho mi atencion y alumbro mi ignorancia... cuando el usuario deja una sesion lo unico que se destruye es el id de la sesion, sin embargo los objetos que esten en Session seran destruidos hasta que transcurra los xx minutos configurados(normalmente 20minutos).

Ahora bien, yo utilizo Session para guardar algunos datos (usuario, clave, y otros datos que en algunos casos pueden ser vistas o datatables pequeños), el asunto es que normalmente el usuario hace clic en la x de la pagina para salir de la aplicacion, entiendo que dbiera entonces usar un Session.Abandon() y/o Session.Clear() (???), pero adonde lo debo poner..

como puedo monitorar los objetos Session que estan quedando asi ????


gracias a todos y feliz dia :pensando:

caguentoo 11/01/2006 08:45

Si alguien lo sabe yo ta,mbien estoy interesado era una buena opcion que se pudiera hacer on close , on exit lo que sea...

mantengo el hilo vivo por si alguien sabe algo

saludos

RootK 11/01/2006 10:03

Hola... miren en esos casos por lo regular se crea una opcion para indicarle al usuario que cierre su sesion y lo lleve a una página que se encargue de limpiar todo, pero bien.. la pregunta principal.. que pasa si el usuario no dá click en la opción y solo cierra el navegador ?

Pues una solución es hacerlo desde javascript.. cachar el evento desde el cliente cuando cierra el browser (onunload) y que nos direccione a una página para hacer un clear de las sessions y posteriormente se cierre de forma automática para que se vea de forma transparente para el usuario. La bronca viene cuando el usuario tiene deshabilitado javascript y en esos casos si hay que esperar que el servicio de asp.net limpie las sesiones.

Salu2

Nombela 12/01/2006 03:01

Pero el onunload tb saltaria cuando cambiara de pagina no??? Es que yo intente hacer algo asi pero si el usuario le da a cerrar la pagina directamente, adios muy buenas...

rodri 12/01/2006 09:07

Una pregunta al respecto. Puedo hacer que la sesión aumente el tiempo antes de caducar con el sig codigo?

Código:

Session.TimeOut += xx
( donde xx minutos son minutos extras).

Por que tengo una pagina que sigue un proceso bastante largo en donde se requieren variables de session para mantener algunas tablas (al estilo carrito de compras), pero algunas veces se me pasa el tiempo (60) y todo deja de funcionar por que obviamente la sesion ha caducado.

RootK 12/01/2006 14:06

Cita:

Iniciado por Nombela
Pero el onunload tb saltaria cuando cambiara de pagina no???

Asi es... pero le podemos poner un fix... ;-)

sería algo así:

Cita:

<script>
window.onunload = function(){if(self.screenTop>9000)alert('Closed.') }
</script>

Cita:

Iniciado por rodri
Por que tengo una pagina que sigue un proceso bastante largo en donde se requieren variables de session para mantener algunas tablas (al estilo carrito de compras), pero algunas veces se me pasa el tiempo (60) :ojotes:

tienes un proceso que dura mas de 60 min..??? es demasiado no crees..?

rodri 13/01/2006 07:04

jeje si, claro que es mucho, muchisimo, pero los usuarios de este sitio requieren llenar procesos bastante largos que duran muchas horas, estaba bastante preocupado ya que llenaba tablas temporales (usando DataTables) y las guardaba en el objeto Session, pero debido a que no paso estos valores, ahora estoy intentando usar el ViewState, ahora hay que ver que no haya mucha recarga en la descarga de la página.

Ahora, estaba intentando modificar el TimeOuta la página a +xx minutos o -xx minutos, se puede hacer esto ? y como supongo, solo dura por esa página.?

saludos.

xknown 13/01/2006 19:30

Cita:

Iniciado por rodri
jeje si, claro que es mucho, muchisimo, pero los usuarios de este sitio requieren llenar procesos bastante largos que duran muchas horas, estaba bastante preocupado ya que llenaba tablas temporales (usando DataTables) y las guardaba en el objeto Session, pero debido a que no paso estos valores, ahora estoy intentando usar el ViewState, ahora hay que ver que no haya mucha recarga en la descarga de la página.

Ahora, estaba intentando modificar el TimeOuta la página a +xx minutos o -xx minutos, se puede hacer esto ? y como supongo, solo dura por esa página.?

saludos.

IMHO, eso es más un problema en el diseño de tu aplicación que otra cosa...

Saludos

rodri 16/01/2006 07:23

Lo sé, son requerimientos de la empresa, lamentablemente algunas veces los usuarios requieren de mucho tiempo para el llenado de procesos largos y además de querer que tooodo este en la misma página. Pero eso es otro tema.
La verdad sería de mucha utilidad saber cuántos minutos le quedan a la session si eso es posible.


La zona horaria es GMT -6. Ahora son las 23:24.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.