si en la segunda pantalla el usuario oprime F5-Refrescar entonces GetVar1() devuelve Nothing
Pata.


De: [email protected] [mailto:[EMAIL PROTECTED] En nombre de [EMAIL PROTECTED]
Enviado el: viernes, 20 de octubre de 2006 18:49
Para: puntonet List Member
Asunto: [puntonet] Mantener estado de un objeto

Hola, me sumo a comentar una truchada que hicimos
 
Cuando en una pagina cargo un objeto complejo y luego lo necesito en otro
nos creamos una especie de slots de objetos que usan el session
 

Public Shared Sub SetVar3(ByVal pObj As Object)

    HttpContext.Current.Session("USSlot3") = pObj

End Sub

 

Public Shared Function GetVar1() As Object

    Dim obj As Object = HttpContext.Current.Session("USSlot1")

    HttpContext.Current.Session("USSlot1") = Nothing

    Return obj

End Function

 

 

De esta forma, usamos la facilidad del Session, y podemos pasar cualquier cosa

y apenas lo usamos lo eliminamos

Es una variable de UNA sola lectura, entonces asi en la pagina 1 lo cargamos y en el load de la pagina 2 lo leemos y automaticamente se libera

 

Lo hemos usado muy poco, en algunas pantallas especificas.

No se si sera una truchada muy fea, o si hay algo similar

 

pero .... anduvo

 

Saludsos

 

Ing. Diego M. Basélica
 
UpSoft Sistemas Informáticos
Rafael Nuñez 3498 (X5009CFO) Córdoba, Argentina
Tel/Fax: 0351-4814812 (rot.)

 



De: [email protected] [mailto:[EMAIL PROTECTED] En nombre de Pata del Santo
Enviado el: Viernes, 20 de Octubre de 2006 10:24
Para: puntonet List Member
Asunto: [puntonet] Mantener estado de un objeto

Es un gran hilo de discusión.
 
El problema de utilizar Session es que a los <x> minutos de inactividad se pierde la sesión (y todos sus datos)
Aumentar el timeout obliga a que el servidor consuma más recursos (si hay muchos usuarios navegando)
 
Una alternativa sería utilizar ViewState, que se usa igual que Session
_ViewState("datosCliente") = oCliente
En este caso, los datos viajan hacia el cliente y luego vuelven en cada PostBack.
Pero esto aumenta el volumen y el cliente se pone más "pesado".
 
Otra alternativa sería que los datos de las sesiones tuvieran persistencia en base de datos.
 
A ver qué opinan los colegas...
Pata.
 

De: [email protected] [mailto:[EMAIL PROTECTED] En nombre de Ricardo Forbes
Enviado el: viernes, 20 de octubre de 2006 14:12
Para: puntonet List Member
Asunto: [puntonet] Mantener estado de un objeto

Hola a todos,


tengo que dar de alta un cliente que en sus propiedades tiene varias colecciones (domicilios, empleos) para lo cual uso varios webForms,

la idea es dar el alta final (a la BDD) desde el form principal.


Lo hice manteniendo un obj "cliente" en Session y trabajando sobre el desde los distintos Webforms. Es correcto hacerlo

asi o hay una forma mejor??? Como me conviene mantener un obj entre varios WebForms?


Gracias.


Ricardo Forbes.


Responder a