Me parece que la solución pasa por configurar bien el IIS para que te tome la 
configuración del session state que le seteas en el web config. 
Tendrías que fijarte en la metabase del iis, metabase.xml y configurar la 
entrada AspSessionTimeout capaz que por ahí pasa la cosa...
  ----- Original Message ----- 
  From: José Franco 
  To: [email protected] 
  Sent: Wednesday, January 16, 2008 7:16 AM
  Subject: [puntonet] Problemas con Session


  Creo que por ahora, una solucion rapida seria

          public string GetIdEmployee {
              get {
                  String _idEmployee = (String) Session["ID"];
                  _idEmployee = (_idEmployee == null) ? (String) 
ViewState["ID"]: _idEmployee; 
                  Session["ID"] = _idEmployee;
                  return _idEmployee;
              }
              set {
                  Session["ID"] = ViewState["ID"] = value;
              }         
          }

  Es casi lo mismo que te habian contestado antes, salvo que en lo personal me 
gusta mas trabajar en referencia a la Session, en caso de no existir el Id que 
chequee en el viewstate.

  Saludos.


  2008/1/16 Omar del Valle <[EMAIL PROTECTED]>:

    Igual se me escapa la opción en que estás fuera X tiempo y cuando te 
sientas en la PC vas a una páguina nueva por el menú.. en ese caso ya no 
tendría el ID en la Session y tampoco en el ViewState.. 

    Pero la solución que me das me saca del problema momentaneo.. pues en el 
caso anterior.. no será tanto el problema de volver al login.. 

    mil gracias Pata.. ;)
    Omar

    ----- Mensaje original ----
    De: Pata del Santo <[EMAIL PROTECTED] >
    Para: [email protected]

    Enviado: miércoles, 16 de enero, 2008 10:04:34

    Asunto: [puntonet] Problemas con Session


    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/ 




----------------------------------------------------------------------------

    ¡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/

Responder a