Foros del Web » Programando para Internet » ASPX (.net) »

Evitar sesiones para pasar datos entre páginas

Estas en el tema de Evitar sesiones para pasar datos entre páginas en el foro de ASPX (.net) en Foros del Web. Hola forer@s!, Empiezo explicando la situación. Tengo una aplicación web de reservas en la que utilizo variables de sesión para pasar los valores que los ...
  #1 (permalink)  
Antiguo 31/03/2010, 15:45
Avatar de josgalo  
Fecha de Ingreso: noviembre-2003
Ubicación: conmigo mismo
Mensajes: 31
Antigüedad: 20 años, 6 meses
Puntos: 0
Evitar sesiones para pasar datos entre páginas

Hola forer@s!,

Empiezo explicando la situación.
Tengo una aplicación web de reservas en la que utilizo variables de sesión para pasar los valores que los usuarios van ingresando en los diferentes pasos.
El proceso consta de tres pasos secuenciales y hay es donde vienen los problemas.

Las pestañas de los navegadores actuales mantienen las sesiones. Con esto, si por ejemplo un usuario se encuentra en el paso 3 después de pasar por el 2 y el 1; le da por abrir una pestaña e ir al paso 1, podría machacar lo que se guardó al principio y finalizar la reserva, confirmando en el paso 3, con datos erróneos.

Estoy intentando reprogramar el proceso serializando los datos, guardándolos en un 'hidden' y enviándolos por POST. Me llevará tiempo, por eso me gustaría saber si hay mejores mecanismos ...

¿Qué se suele utilizar hoy en día en tiendas on-line y demás para evitar estos problemas, a parte de ir guardando los datos parciales en base de datos?

Espero que se me haya entendido.
Agradecería sus sugerencias.

Gracias y un saludo.
__________________
"La vida es muy peligrosa. No por las personas que hacen el mal,
sino por las que se sientan a ver lo que pasa."

Albert Einstein
  #2 (permalink)  
Antiguo 31/03/2010, 17:01
 
Fecha de Ingreso: octubre-2000
Mensajes: 1.692
Antigüedad: 23 años, 6 meses
Puntos: 19
Respuesta: Evitar sesiones para pasar datos entre páginas

Yo lo que haría es que cada vez que pases por una paso, guardes en una variable de session algún dato para que sepas porque pestaña a pasado, de forma que si va por la 3 y quiere volver por la 2 o la 1 le mostres un mensaje de error.
__________________
PD: Con amor, fe, amor a Dios y amistad podemos hacer un mundo mejor!!!!
  #3 (permalink)  
Antiguo 01/04/2010, 02:25
Avatar de josgalo  
Fecha de Ingreso: noviembre-2003
Ubicación: conmigo mismo
Mensajes: 31
Antigüedad: 20 años, 6 meses
Puntos: 0
Respuesta: Evitar sesiones para pasar datos entre páginas

Gracias Trulala por responder.

Sería una solución, pero limita bastante a los usuarios. Los usuarios suelen abrir pestañas para comparar precios y mostrarles un mensaje de error quedaría un poco feo.

De todas formas agradezco la sugerencia. Para otro tipo de webs puede ser eficaz.

Salu2!
__________________
"La vida es muy peligrosa. No por las personas que hacen el mal,
sino por las que se sientan a ver lo que pasa."

Albert Einstein
  #4 (permalink)  
Antiguo 01/04/2010, 08:39
 
Fecha de Ingreso: marzo-2010
Mensajes: 7
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: Evitar sesiones para pasar datos entre páginas

Cita:
Iniciado por Trulala de cordoba Ver Mensaje
Yo lo que haría es que cada vez que pases por una paso, guardes en una variable de session algún dato para que sepas porque pestaña a pasado, de forma que si va por la 3 y quiere volver por la 2 o la 1 le mostres un mensaje de error.
Es verdad, esa es una buena opción (no muy ortodoxa, aunque buena al fin y al cabo), pero como menciona josgalo, eso depende del contexto... Yo lo usé en un sistema que también tiene 3 páginas, pero donde el ingreso de los datos es absolutamente secuencial, de modo que no se puede pasar de una página a otra sin haber pasado por la anterior, pero por lo que entiendo, este no es el caso, por lo que mi ayuda tampoco es muy válida

Ahora, una pregunta, los navegadores mantienen las sesiones si se ejecutan en pestañas? eso no lo tenía considerado y no he probado si en realidad es así... quizá haya opciones en el web config o algo similar, donde evitar que el navegador interprete la apertura de una pestaña como la misma sesión y mate las variables
  #5 (permalink)  
Antiguo 06/04/2010, 12:12
Avatar de josgalo  
Fecha de Ingreso: noviembre-2003
Ubicación: conmigo mismo
Mensajes: 31
Antigüedad: 20 años, 6 meses
Puntos: 0
Respuesta: Evitar sesiones para pasar datos entre páginas

Gracias guidze por tu respuesta.
He buscado lo que comentas de si hay algún valor que se peuda poner el web.config y no he encontrado nada.

Al final estoy implementando los procesos serializando una clase y pasándola por post. Está funcionando.

P.D: Sip, me temo que lo de las pestañas es un nicho de errores ... Las sesiones son muy cómodas pero creo que sólo deben utilizarse para autentificar usuarios.

Salu2!
__________________
"La vida es muy peligrosa. No por las personas que hacen el mal,
sino por las que se sientan a ver lo que pasa."

Albert Einstein
  #6 (permalink)  
Antiguo 06/04/2010, 15:19
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Respuesta: Evitar sesiones para pasar datos entre páginas

Porque no mandas los datos por query string de forma encriptada?

Lo que yo hago es encriptar los parámetros de la URL y tengo un método estático que se encarga de recibir ese valor para descencriptarlo y al mismo tiempo otro método que se encarga de recoger las variables que le estoy pasando para regresar su valor ¿me explico?

Salu2
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #7 (permalink)  
Antiguo 07/04/2010, 04:22
Avatar de josgalo  
Fecha de Ingreso: noviembre-2003
Ubicación: conmigo mismo
Mensajes: 31
Antigüedad: 20 años, 6 meses
Puntos: 0
Respuesta: Evitar sesiones para pasar datos entre páginas

Es otra forma, RootK, gracias.
Pero tengo que pasar una cantidad grande de datos y por QueryString estoy limitado.

Mira esto:
longitud máxima de la dirección URL

Un saludo!
__________________
"La vida es muy peligrosa. No por las personas que hacen el mal,
sino por las que se sientan a ver lo que pasa."

Albert Einstein

Etiquetas: pasar, sesiones, aspx
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 00:16.