ASP - Sesiones

 
Vista:

Sesiones

Publicado por ^kAnKy^? (12 intervenciones) el 21/01/2004 20:44:29
Hola que tal. Tengo el siguiente problema: estoy haciendo un contador en ASP. Supongo que la mayoría de vosotros habreis realizado esta tarea al comenzar a estudiar ASP, así que espero os sea facil. El caso es que he realizado el global.asa con el siguiente código:

<SCRIPT LANGUAGE = "Vbscript" RUNAT=Server>

Sub Application_OnStart
application("UserCount") = 0
End Sub

Sub Session_OnStart
Application.lock
application("UserCount") = application("UserCount") + 1
session("UserNumber") = application("UserCount")
application.unlock
End SUb
</SCRIPT>

El caso es que cada vez que entro a una de las páginas que solicito, si pulso F5 en la página, el sessionID se me incrementa siempre, y en teoría no debe ocurrir. Es más, lo que busco es que no cambie, puesto que el usuario es el mismo. He probado con las múltiples combinaciones en la colocación del Global.asa: en wwwroot y en el directorio virtual, pero nada. ¿Alguien sabe a que se debe?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Sesiones

Publicado por Charlos (170 intervenciones) el 22/01/2004 20:20:16
Cuando haces F5 recargas ojo "recargas" la pagina por lo ke eres un nuevo usuario cosa ke no pasa cuando navegas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Sesiones

Publicado por ^kAnKy^ (12 intervenciones) el 22/01/2004 21:31:16
Hoy acabo de comprobar lo siguiente:
1.- Si desde mi equipo refresco, el usuario se incrementa.
2.- Si desde otro equipo refresco, el usuario no se incrementa.

Este tema me tiene muy intrigado porque no sé a que se debe, y me gustaría saber el motivo. El problema más gordo es que no puedo continuar con el tutorial que estoy siguiendo puesto que todo como base necesito que me funcionen bien las sesiones de usuario. Lo que tú me dices Charlos no me funciona, porque me he dado cuenta de lo siguiente también: Si entro con un usuario y navego por páginas HTML del sitio, el sessionID me cambia tb :(. No sé a causa de qué será.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Sesiones cosa rara

Publicado por Marcos (28 intervenciones) el 23/01/2004 02:52:46
Algo raro que me sucede es que si creo una sesion en una pagina y paso a otra se me cambia el ID de sesion y por lo tanto no me mantiene las sesion, no se porque, es extraño.

Creo que habria que averiguar que propiedades y metodos que tiene sesion y setearlos, a ver que ocurre.

Si encuentran algo, escriban.

Marcos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Sesiones cosa rara

Publicado por ^kAnKy^ (12 intervenciones) el 23/01/2004 21:41:03
A mí me ocurre, como ya dije antes, siemrpe que lo ejecuto desde elpropio servidor. Si ejecuto la aplicacion desde el exterior puedo maniobrar perfectamente con los objetos session y application. Si alguien sabe la causa y cómo se soluciona se lo agradecería, puesto que no puedo hacer ninguna prueba. Thank you very much :D.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:Sesiones cosa rara

Publicado por bill_mg (30 intervenciones) el 23/01/2004 22:33:46
Hola, espero poder ayudarte con esto:
Yo tengo una página a la que agregé este codigo en el global.asa, fijate bien, debes crear un txt en el que almacenaras el número a partir del cual se comenzará a incremetar el contador.

En estas Rutinas del Global.asa es donde lee el txt para incrementar en uno el número almacenado.

Sub Application_OnStart
'----- Visitas
set fso=server.CreateObject("Scripting.FileSystemObject")
'Aqui lees el txt
set fichero=fso.OpenTextFile(Server.MapPath("data\contador.txt"))
'Lo almacenas en la variable de aplicacion
Application("visitas")=fichero.ReadLine
fichero.Close
End Sub
'Luego cuando el usuario entra en session incrementa el contador en la variable aplicación
Sub Session_OnStart
'----------
Application.Lock
Application("visitas")=cint(Application("visitas"))+1
Application.Unlock
End Sub

Después en la pagina donde aparecerá el contador debes de colocar lo siguiente:
<%
set fso=server.CreateObject("Scripting.FileSystemObject")
set CFile=server.CreateObject("Scripting.FileSystemObject")
Application.Lock
'Creamos un nuevo fichero con la misma ruta y nombre
set fichero2=fso.CreateTextFile(server.MapPath("data\contador.txt"),true)
'Escribimos en el nuevo fichero la cifra de la última visita
fichero2.WriteLine(Application("visitas"))
fichero2.Close
set fso=nothing
set CFile=nothing
set fichero2=nothing
Application.Unlock
%>

Espero te funcione cualquier cosa me avisas
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Sesiones cosa rara

Publicado por ^kAnKy^ (12 intervenciones) el 26/01/2004 19:19:50
He probado lo que me has dicho y me va perfecto. Pero el caso es que me ocurre lo siguiente: si cambio de página y vuelvo a la misma, es decir, si me muevo por las páginas que componen el sitio, el sessionID cambia para cada una de ellas, y así no puedo ni guardar cookies ni guardar el estado, así que el contador no para de subir. Según la teoría, el sessionID no debe cambiar a menos que se abra otro explorador diferente o se termine el tiempo de sesión. No sé de qué puede ser eso.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar