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

Problema con sesión

Estas en el tema de Problema con sesión en el foro de ASP Clásico en Foros del Web. Hola chicos, a ver quien me da una mano porque llevo todo el día con esto y no lo he podido resolver.... Estoy implementando un ...
  #1 (permalink)  
Antiguo 21/05/2004, 15:19
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 4 meses
Puntos: 98
Problema con sesión

Hola chicos, a ver quien me da una mano porque llevo todo el día con esto y no lo he podido resolver....

Estoy implementando un carrito de compras por medio de un Diccionario de Datos metido en una sesión, hasta ahí todo bien, cree una Sub para actualizar dicho carrito, la cual funciona bien con la salvedad de que si no tiene nada el diccionario después de actualizar el carrito, no está destruyendo la sesión, con lo cual me está metiendo en problemas a la hora de evaluar si existe el objeto session("MyObjCart")...

Sub UpdateFakeCart(product_id, qty)
sbnCountElements = 0
'Response.Write "ID= " & product_id & ", Qty= " & qty
'Response.End
Set MyObjCart = session("MyObjCart")
If MyObjCart.Exists(product_id) Then
If qty < 1 Then
MyObjCart.Remove(product_id)
Else
MyObjCart(product_id) = qty
End If
End If
Set session("MyObjCart") = MyObjCart
For each element in session("MyObjCart")
sbnCountElements = sbnCountElements + 1
Next
'****Si entra al If, pero no destruye la sesión
If sbnCountElements <= 0 Then
'Response.Write sbnCountElements
Set session("MyObjCart") = nothing
'Response.End
End If
End Sub

'Fragmento de llamado a la Sub
UpdateFakeCart cint(product_id), cint(qty)
Response.Redirect "index.asp?type=cart&action=page"

'Después de ejecutar esto, redirecciona aquí
<%
If NOT IsObject(session("MyObjCart")) Then
%>
<center><font face= arial size=3><b>No tienes productos en tu carrito de compras.</b></center>
<%
Else
'Pinta el carrito por medio de otras sub
End If
%>

El problema reside precisamente en que no se por qué diablos no destruye el objeto y por lo tanto llama a las sub para pintar el carrito, provocando errores procedurales...

Alguna idea antes de aventarme por la ventana?

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #2 (permalink)  
Antiguo 22/05/2004, 10:37
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 4 meses
Puntos: 98


Como respuesta a mi pregunta, yo no sabía que

Set session("nombre") = Nothing

NO destruye ese objeto sesión, solo es como asignarle un null, la instrucción para destruir el objeto es

session.Contents.remove "nombre_de_sesion"

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
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 11:09.