Inicializar variables de sesión en ASP

02/Dic/2009 ASP , , Deja un comentario

Cuando el usuario se conecta por primera vez a nuestra web, es muy probable, que podamos tener la necesidad de darle unos valores en la sesión o bien inicializarle unos parámetros. Por ejemplo, indicar que el usuario todavía no se ha logado, dependiendo de su IP darle unos valores de idioma u otros, crearle una cookie con la fecha de la visita (y otros datos),...

Esto descrito es bastante normal, pero, ¿Cómo sabemos porque página se va a logar el usuario? ¿Por la "home"?. O bien, hemos diseñado una web que obligue al usuario a entrar por la web o podrá entrar en cualquier página de nuestro "site".

En este último caso lo que no vamos a hacer es poner el código de incialización en todas las páginas de nuestra página. Vamos, que no es muy recomendable. Para esta situación tenemos el fichero global.asa. Dicho fichero contiene una sección que será la que servidor lance cuando entre un nuevo usuario en nuestra web, independientemente de por la página que lo haga.

La información de inicialización residirá en el método Session_OnStart y la información a ejecutar cuando el usuario abandona nuestra web, más bien, cuando se le acaba la sesión es Session_OnEnd.

Con esta información, si lo que queremos es, por ejemplo, darle un código de país (mediante el código LCID) y modificar su timeout de sesión tendríamos el siguiente código:

  1. Sub Session_OnStart
  2. 'Tiempo de la sesión 20 minutos
  3. Session.Timeout = 20
  4.  
  5. 'LCID para que fechas y monedas se vean en español
  6. Session.LCID = 1034
  7. End Sub

Todo el accediendo al objeto Session, el cual nos permite manejar las variables de sesión.

De igual manera, cuando se acabe la sesión del usuario podríamos, por ejemplo, decrementar el número de usuarios activos del web:

  1. Sub Session_OnEnd
  2. application.Lock
  3. application("usuariosActivos")=application("usuariosActivos")-1
  4. application.UnLock
  5. End Sub

Difunde el Conocimiento

Si te ha gustado el artículo o te ha sido de utilidad, no dejes de compartirlo con tus amigos en las redes sociales... Te estaremos muy agradecidos. :-D

¿Algo que nos quieras comentar?

Déjanos tu comentario, no te preocupes que tu email no será publicado

*

*