variables de session i frames?

02/11/2004 - 15:13 por josep | Informe spam
Salduos,

Tengo una web con la siguiente configuración:

Una web W1 en un servidor IIS pongamos S1. Esta web tiene una
estructura de frames y en uno de los frames se conecta a una dirección W2
(dir. virtual) de otro servidor IIS pongamos S2.

Bien esta direccion W2 al inicio crea un conjunto de variables de session.
Estas variables se cancelan cuando se lleva un tiempo sin actuar sobre la
pàgina.
En las paginas tengo un control que indica al usuario que la session ha
caducado y debe volver a conectarse. Asta aqui todo ok.

El problema viene aqui, que cuando el usuario vuelve a entrar en la página,
o sea, a W1 que a traves de uno de sus frames se conecta con W2. Le sigue
indicando que la session ha caducado. Las variables de session no se crean!
He probado cerrando la ventana, poniendo una pagina que hace <<
session.abandon>>, però sigue sin crear las variables de session.
Al cabo de un rato si vuelves a entrar entonces si ya crea las variables de
session.

Puede ser un problema de frames o de lio entre los dos servidores IIS S1 y
S2. Porque si trabajas directamente sobre W2 en S2, sin frames, no da este
problema. También he probadon sin frames abriendo una ventana nueva y
entonces
funciona ok.

Parece como si cuando se caduca la session al volver a acceder se identifica
con la misma session y no con una de nueva...

Algien sabe que puede estar pasando con las variables de session?
Como puedo solucionar-lo utilizando frames?
Porque no funciona el session.abandon()?

Muchas gracias.

Preguntas similare

Leer las respuestas

#6 josep
04/11/2004 - 08:39 | Informe spam
La estructura de la web es la siguiente:

1. pagina de marcos: establece sesion en el server1
2. marco superior, pertenece al server 1.
3. marco izquierdo, pertenece al server 1.
4. marco central, pertenece al server 1.

Clikando en las diferentes opciones del menu superior se cargan diferentes
pàginas en el frame izquierdo y el central. (paginas ASP).

Una de estas pàginas ASP que se carga en el frame central realiza un
<response.redirect("")>
hacia la WEB2 del SERVER 2.
A partir de ese momento en este frame central se van cargando las diferentes
paginas de la WEB 2.

Es en esta web2 donde tengo los problemas de session.
Ya he probado lo siguiente y no funciona:
- Realizar un <session.abandon()> antes del <response.redirect>
- Realizar el direccionamiento por javascirpt <document.location="">

Lo único que funciona ok es lo siguiente:
- Realizar el direccionamiento por javascirpt pero abriendo una ventana
nueva.
<window.open("")>


Espero que ayude!

Muchas Gracias.

"Jorge Oblitas" escribió en el mensaje
news:
Una pregunta cuya respuesta tal vez nos ayude a entender todo:

Cual es la distribucion de tus paginas, algo asi como:

1. pagina de marcos: establece sesion en el server1
2. marco izquierdo, pertenece al server 1.
3. Pagina a la que se accede luego del click en el marco derecho: servidor
2...

es asi?

Jorge


"josep" escribió en el mensaje
news:
> Correctíssimo.
>
> Comprendo lo que dices y de hecho he comprobado que con una ventana


nueva
> funciona ok. Pero no acabo de entender porque no funciona con frames.
>
> Las variables de session se crean siempre desde el interior del frame y
por
> lo tanto en el mismo server, y son utilitzadas siempre desde las paginas
de
> este server, de hecho se crean bien la primera vez, el problema viene
cuando
> la session se caduca, entonces ya queda caducada hasta cierto tiempo sin
> posibilidad de crear nuevas variables de session.
>
> Porque no funciona session.abandon()? Al hacer esto tendria que dejar-me
> iniciar una nueva session, no?
>
> Supongo que el server identifica siempre el frame con la misma session?
> aunque se abra desde ventanas distintas...
>
> Este tiempo que trascurre desde que se caduca la session hasta que


vuelve
a
> poder dar variables de session (NO el time-out session), supongo yo que


es
> el tiempo "limpieza" de sessiones caducadas, puedo configurar la
frequencia
> de esta "limpieza", de que depende?
>
> "Gustavo Castillo" escribió en el mensaje
> news:%
> > Basicamente vos decis q tenes 2 servers no?
> > la pregunta es DONDE creas la variable
> > y DONDE queres q aplique ya q entre servers no pasan las variables
> > por ende si estas en un frame tratando de llamar a una variable q


tenes
en
> > el otro server no te va a funcionar
> > si con pagina nueva porque hay una sola pagiana por ende un solo


server
> > decime si es correcto esto y seguimos
> > saludos
> > Gustavo Castillo
> > MCP
> >
> > "josep" escribió en el mensaje
> > news:#
> > > Salduos,
> > >
> > > Tengo una web con la siguiente configuración:
> > >
> > > Una web W1 en un servidor IIS pongamos S1. Esta web tiene una
> > > estructura de frames y en uno de los frames se conecta a una


dirección
> W2
> > > (dir. virtual) de otro servidor IIS pongamos S2.
> > >
> > > Bien esta direccion W2 al inicio crea un conjunto de variables de
> session.
> > > Estas variables se cancelan cuando se lleva un tiempo sin actuar


sobre
> la
> > > pàgina.
> > > En las paginas tengo un control que indica al usuario que la session
ha
> > > caducado y debe volver a conectarse. Asta aqui todo ok.
> > >
> > > El problema viene aqui, que cuando el usuario vuelve a entrar en la
> > página,
> > > o sea, a W1 que a traves de uno de sus frames se conecta con W2. Le
> sigue
> > > indicando que la session ha caducado. Las variables de session no se
> > crean!
> > > He probado cerrando la ventana, poniendo una pagina que hace <<
> > > session.abandon>>, però sigue sin crear las variables de session.
> > > Al cabo de un rato si vuelves a entrar entonces si ya crea las
variables
> > de
> > > session.
> > >
> > > Puede ser un problema de frames o de lio entre los dos servidores


IIS
S1
> y
> > > S2. Porque si trabajas directamente sobre W2 en S2, sin frames, no


da
> este
> > > problema. También he probadon sin frames abriendo una ventana nueva


y
> > > entonces
> > > funciona ok.
> > >
> > > Parece como si cuando se caduca la session al volver a acceder se
> > identifica
> > > con la misma session y no con una de nueva...
> > >
> > > Algien sabe que puede estar pasando con las variables de session?
> > > Como puedo solucionar-lo utilizando frames?
> > > Porque no funciona el session.abandon()?
> > >
> > > Muchas gracias.
> > >
> > >
> >
> >
>
>


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida