Tendrías una clase cSesionEmp con un metodo
GuardarEmpleadoId(myID)
que actualmente, solo hace
Session("ID")=myID
y otro
RecuperarEmpleadoId
que actualmente, solo hace
myID=Session("ID")
RETURN myID
Allí dentro de esta clase (sin tocar el código de los formularios) irías a
mejorar la persistencia de este dato.
Estas son las modificaciones sugeridas:
Para guardar, lo guardas tanto en Session como en ViewState
GuardarEmpleadoId(myID)
Session("ID")=myID
ViewState("ID")=myID
Para recuperar, primero preguntas en ViewState (y no importa si el timeout
de la session está vencido)
RecuperarEmpleadoId
myID=ViewState("ID")
if myID isnot null
Session("ID")=myID 'aprovecho a refrescar en Session
else
myID=Session("ID")
endif
RETURN myID
Esto escrito así, más o menos de memoria, para que entiendas que el
ViewState lo utilizamos solo para extender ilimitadamente el tiempo de la
session, sin necesidad de que el IIS guarde durante horas toda la
información de todos los usuarios. La idea es que cada página guarda lo que
ella necesita y puedas dejar el timeout de Session según viene por defecto.
Aunque otra cosa que podría hacerse, sin tocar nada de nada, sería persistir
los datos de Session en BBDD.
Pata.
_____
De: [email protected] [mailto:[EMAIL PROTECTED] En nombre de Omar del
Valle
Enviado el: miércoles, 16 de enero de 2008 9:44
Para: [email protected]
Asunto: [puntonet] Problemas con Session
No creo que sería la solución por varias razones:
1- recuerda que es un proyecto ya terminado.. un cambio que implique
modificar el lugar donde se almacena el ID puede tomar algún tiempo.
2- El ViewState guarda el valor en la página, lo que de hacerlo requerie que
busque otro mecanismo para pasar el valor entre páginas.. la idea me sirve
entre postback en una misma página.. pero cuando me voy a otra página ya no
tendría el id del cliente en el ViewState.
Gracias por la respuesta
Salu2
Omar
----- Mensaje original ----
De: Pata del Santo <[EMAIL PROTECTED]>
Para: [email protected]
Enviado: miércoles, 16 de enero, 2008 9:28:03
Asunto: [puntonet] Problemas con Session
podrías guardar el id del empleado en el ViewState, es casi lo mismo.
_____
De: [email protected] [mailto:[EMAIL PROTECTED] En nombre de Omar del
Valle
Enviado el: miércoles, 16 de enero de 2008 9:20
Para: [email protected]
Asunto: [puntonet] Problemas con Session
Hola gente,
Estoy teniendo un problema que me tiene algo trastornado el sueño:
Tengo un proyecto que acabo de poner en desarrollo. Este proyecto requiere
de login y pass para poder acceder a todas sus opciones.. por defecto he
dejado el timeout de la Session en 20 minutos tal y como viene..
Ahora se encuentran entrando los datos iniciales para poder trabajar con el
proyecto.. esta tarea va unida al quehacer diario de los trabajadores de la
compañía por lo que es posible que entrando algún dato tengan parar y
atender a clientes para luego continuar..
En el momento de continuar.. ya saben.. login de nuevo.. y a empezar todo.
He intentado subir los tiempos de timeout hasta 500 minutos para evitar este
problema al menos durante el periodo de entrada de datos.. pero no hay forma
que me funcione.
En mi PC local puedo demorarme lo que quiera sin tocar el proyecto que a mi
regreso sigue funcionando el sistema normalmente. Tiene alguna relación el
IIS con estos tiempos? alguna idea de como lograr que esto funcione?
En el Web.Config tengo en el tag <form un timeout=500 y en el SessionState
igual un timeout=500.
Todas mis páginas heredan de una página base, donde siempre pregunto si el
id del empleado (se guarda en session) es nulo, lo envio al login.
Salu2 y gracias
Omar
_____
¡Capacidad ilimitada de almacenamiento en tu correo!
No te preocupes más por el espacio de tu cuenta con Correo Yahoo!:
http://correo.yahoo.com.mx/
_____
¡Capacidad ilimitada de almacenamiento en tu correo!
No te preocupes más por el espacio de tu cuenta con Correo Yahoo!:
http://correo.yahoo.com.mx/