[ASP] Actie verbinden aan Session.Expire?

Pagina: 1
Acties:

  • Reveller
  • Registratie: Augustus 2002
  • Laatst online: 05-12-2022
Telkens wanneer een user inlogt om mijn (in de stijgers staande) site, wordt er op de server een sessie aangemaakt. Wanneer een user niet zelf uitlogt, verloopt de sessie na een bepaalde tijd.

Om enigszins het gedrag van de gebruikers te analyseren, houd ik een log (in Access database) bij waarin af te lezen staat wanneer, welke gebruiker inlogt/ uitlogt. Graag zou ik hieraan toevoegen wanneer de sessie verloopt van een gebruiker die niet heeft uitgelogd.

Mijn vraag is dus: is het mogelijk om na te gaan wanneer een bepaalde sessie verloopt, welke sessie dit is en kan ik er een actie (zoiets als: INSERT INTO logdb (User,Time,Message) VALUES ('" & session("User") & "', '" & Now() & "', 'User Session Expired','") aan verbinden?

Bij voorbaat dank voor elke reaktie :)

"Real software engineers work from 9 to 5, because that is the way the job is described in the formal spec. Working late would feel like using an undocumented external procedure."


Verwijderd

In je global.asa een sub maken die "Session_OnEnd" heet.
Deze wordt uitgevoerd als de sessie afloopt.

  • Reveller
  • Registratie: Augustus 2002
  • Laatst online: 05-12-2022
Dank je. Nu je het zegt...heb nog nooit serieus met global.asa gewerkt maar het rinkelt zeker bellen nu...met recht overigens een "quick reply", hoor!

"Real software engineers work from 9 to 5, because that is the way the job is described in the formal spec. Working late would feel like using an undocumented external procedure."


  • Batsies
  • Registratie: Mei 2002
  • Laatst online: 27-01-2022

Batsies

E-Developing

Ja zoals kerrick al meldt is het handig om session_OnEnd te gebruiken in global.asa. Global.asa begint te runnen zodra de site wordt gecontact en maakt daar dan een sessie mee aan.. Suc6 verder

E-Developing


  • intGod
  • Registratie: Maart 2003
  • Niet online

intGod

Ars non postulat causam

Hmm, die uitleg klopt niet helemaal.

Global asa kent hoofdzakelijk 4 mogelijk subs:

a. sub application_onStart()
b. sub application_onEnd()
c. sub session_onStart()
d. sub session_onEnd()

a en b worden afgevuurd wanneer de applicatie respectievelijk gestart of gestopt wordt. Een applicatie wordt gestart wanneer een bezoeker de site bezoekt en er op dat ogenblik geen enkele sessie aanwezig is. Een applicatie stopt automatisch wanneer er geen actieve sessies meer zijn. Een applicatie definier in IIS in de eigenschappen van een site. Het wijzigen van de naam van de applicatie is genoeg om een nieuwe applicatie aan te maken. Het wijzigen van de naam van een applicatie heeft verder geen gevolgen. Als je 2 verschillende websites op 1 IIS hebt draaien met dezelfde applicatienaam zullen deze dezelfde global.asa gebruiken (typisch de global.asa van de site wiens applicatie het eerste wordt gestart).

c en d worden gebruikt wanneer een gebruiker een sessie respectievelijke begint of eindigt. Een sessie begint wanneer een gebruiker zijn eerste object op een website opvraagt. De sessie eindigt wanneer de gebruiker gedurende een vooraf bepaald tijdsbestek geen enkele object meer heeft opgevraagd. Een object is gelijk welk bestand wat op een webserver aanwezig is. Het tijdsbestek waarover een sessie in leven moet gehouden worden kan ingesteld worden in de eigenschappen van een site.