Foros del Web » Programando para Internet » ASP Clásico »

Nueva instancia de Sesiones

Estas en el tema de Nueva instancia de Sesiones en el foro de ASP Clásico en Foros del Web. Hola: Quiero ver si me pueden dar una mano. Resulta que tengo una aplicacion hecha con ASP, customizada con variables de sesión. Osea que si ...
  #1 (permalink)  
Antiguo 27/04/2005, 09:32
 
Fecha de Ingreso: abril-2005
Mensajes: 4
Antigüedad: 19 años, 1 mes
Puntos: 0
Nueva instancia de Sesiones

Hola:
Quiero ver si me pueden dar una mano. Resulta que tengo una aplicacion hecha con ASP, customizada con variables de sesión. Osea que si yo ingreso ingreso a la aplicacion con el Session("ID") = 1 me va a mostrar cosas diferentes que si yo ingreso con Session("ID") = 2.
Es bastante más complicado pero intento simplificarlo lo más posible.

Resulta que yo estando en Session("ID") = 1 debería poder abrir una ventana con la Session("ID") = 2.
Aquí mi problema: como Session("ID") es global al abrir un ventana nueva y asignarle Session("ID") = 2 también cambia el valor de la variable en la ventana que la abre.
Yo lo que necesito es poder abrir una nueva venta que esta separa de la instancia que la abre. Como por ejemplo sucese si yo abro manualmente una nueva venta del explorador e ingreso a la aplicación. En ese caso las variables de sesion son variables diferentes por más que tienen el mismo nombre.

Actualmente la ventana se abre en tiempo ejecucion con un window.open()

Alguien sabe si se puede abrir una nueva instancia del explorador para que las variables se creen nuevamente? POr supuesto que no puedo perder las variables ya creadas en la otra ventana, o sea que se debería abrir como una aplicación diferente.

Desde ya les agradezco

Saludos

Martin Rossi
  #2 (permalink)  
Antiguo 27/04/2005, 10:42
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
Sin haber hecho pruebas.......supongo que si abres el navegador con el objeto WSCript.Shell sería una instancia completamente diferente.
Ahora, tal vez te convenga usar colecciones de session del tipo ID->Pagina
  #3 (permalink)  
Antiguo 27/04/2005, 10:54
Avatar de Neuron_376  
Fecha de Ingreso: abril-2005
Mensajes: 1.051
Antigüedad: 19 años, 2 meses
Puntos: 2
Hola

Session se propaga por todas las paginas que son parte de tu sitio y que esta abriendo el usuario detro de la misma peticion.

Es decir..

1. Usuario crea session (ventana 1)
2. En esa pagina abres el popup -> Automaticamente las session estan creadas en esta pagina tambien. (ventana2)
3. Cierras el navegador con ventana 1 (ventana2 aun conservara la session)
4. Abres una nueva ventana con tu explorador, ahi si se crea otra session para ese usuario, porque es una instacia o peticion diferente.

Session, es un espacio en memoria identificado po un ID para una instacion entre servidor y cliente, entonces todas las varibles que declares dentro de una misma peticion existe en todas las paginas.

Pero explica mejor lo que necesitas, porque segun lo que entendi, tal vez puedas hacer algo como:

1. ventana 1 crea session y abre popup
2. ventana 2 dice..

if Session("ID") = 1 then
// Escribe las cosas que se necesitan si fuera 2
elseif Session("ID") = 2 then
// Escribe las cosas que se necesitan si fuera 1

Pero bueno, quien sabe que necesites hacer.

Sueret!!
  #4 (permalink)  
Antiguo 27/04/2005, 12:19
 
Fecha de Ingreso: abril-2005
Mensajes: 4
Antigüedad: 19 años, 1 mes
Puntos: 0
Hola y gracias por responder

Es así la aplicacion trabaja con cuartos, según al cuarto que se ingrese se cambia como se ve, y los datos que se ven. Pero la estructura es la misma para cualquier cuarto.
Resulta que yo quiero abrir una ventana desde un cuarto a otro cuarto y poder trabajar y ver los dos cuartos por separado. Pero como toda la estrucuta está sujeta a variables de session, al ingresar de un cuarto al otro y cambiar los valores de esa variables (para poder comvertir la aplicación en el segundo cuarto), se cambia para todo y por tanto luego al querer recorrer el primer cuarto este se convierte en el segundo (Por tener los valores en las variables de sesión que puse al pasar al abrir el segundo cuarto)

Lo que necesito es poder abrir una nueva ventana sin que las variables de sesión se compartan entre ambas ventanas. Como ocurre al abrir una nueva ventana, manualmente, del navegador.

Espero que haber sido un poco más explicito.

Igualmente todavía no probé la solución que me pasó Myakire.


Desde ya gracias a los 2

Saludos

Martín
  #5 (permalink)  
Antiguo 27/04/2005, 12:40
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
Prueba con algo como:

<SCRIPT LANGUAGE=vbscript>
Sub Navegador()
Dim objWSCript
Set objWSCript = CreateObject("WSCript.Shell")
objWSCript.Run "c:\iexplore.exe http://www.yahoo.com/"
Set objWSCript = Nothing
End Sub
</SCRIPT>
<input type="button" onclick="Navegador()" value="iniciar Navegador">

Solo cambia la ruta a donde este el archivo ejecutable del navegador y mándale de parámetro tu página. Recuerda que WSCript.Shell se corre en el cliente, por lo que no necesita que la extensión sea .asp, y por lógica tampoco generará la misma sesión ya que será una invocación directa como si lanzara el comando desde su menu "ejecutar".

Aunque esto último no lo he probado. Pruebalo y nos dices como te fue.

Saludos
  #6 (permalink)  
Antiguo 27/04/2005, 13:02
 
Fecha de Ingreso: abril-2005
Mensajes: 4
Antigüedad: 19 años, 1 mes
Puntos: 0
Gracias nuevamente Myakire

Probé la solución y me abre una ventana nueva. El problema que tengo ahí es un tema de seguridad. Ya que pide permiso para abrir el componente activeX y aparte cualquier antivirus advierte de un posible virus.

Igualmente te agradezco

Saludos

Martin
  #7 (permalink)  
Antiguo 27/04/2005, 13:28
Avatar de Neuron_376  
Fecha de Ingreso: abril-2005
Mensajes: 1.051
Antigüedad: 19 años, 2 meses
Puntos: 2
humm

Porque no usas un arreglo de variables.

Session("arrID")(0) = 1
Session("arrID")(1) = 2
Session("arrID")(2) = 3
Session("arrID")(3) = 4

Session("arrTituloVentana")(0) = 1
Session("arrTituloVentana")(1) = 2
Session("arrTituloVentana")(2) = 3
Session("arrTituloVentana")(3) = 4

Bueno, no es la mejor solucion en cuestion de recursos de memoria, pero si el algo pequeño es buena solucion.

Suerte!!
  #8 (permalink)  
Antiguo 27/04/2005, 14:01
 
Fecha de Ingreso: abril-2005
Mensajes: 4
Antigüedad: 19 años, 1 mes
Puntos: 0
Hola Neuron:
El problema que surge para utilizar esta solución es que la aplicación ya está termina y contiene algo así de 50 módulos y realizar un cambio tan radical sería a esta altura imposible.
El problema es que una falla en el Diseño y no se tuvo en cuenta la técnología.

Gracias pero me sería imposible aplicarlo

Desde ya les agradezco a todos las respuestas

Saludos

Martin
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:54.