Avatar billede phpguru1 Nybegynder
16. juni 2008 - 11:32 Der er 2 kommentarer og
1 løsning

Online counter

Jeg har et par gange forsøgt at lave en online counter, der tæller antallet af aktive sessioner på min ASP.NET webapplikation. Jeg er dog hver gang strandet ved at

protected void Session_End(object sender, EventArgs e)

i Global.asax aldrig bliver kaldt, så jeg kan ikke tælle min session-tæller ned igen.

Hvem har løst dette ?
Avatar billede mikalj Nybegynder
17. juni 2008 - 07:55 #1
Bliver den aldrig kaldt? det lyder mærkeligt.
Og jeg går ud fra at du er klar over at en session først ender omkring 20-30 minutter efter brugeren sidst har gjort noget på dit site, alt afhængig af hvad du har sat session timeout til.

Jeg har på en enkelt site brugt databasen til at tælle online brugere, det var dog af andre grunde jeg var nødsaget til det en den du har nævnt.

Princippet var at lave en sql forespørgsel som gjorde tre ting.
- slette alle rækker der var ældre end 30 minutter
- indsætte en ny række med brugerens sessionID, samt tidspunkt, eller hvis den sessionID allerede findes, så opdater tidspunktet
- tælle hvor mange rækker der er.

Hvis du kun har et enkelt domæne der peger på dit site kan du gøre noget ligende med en list og gemme den i application, men har du flere domæner kan de få hver deres application object (det var i hvert fald hvad jeg oplevede hos wannafind) og derfor vil man ikke kunne bruge det til at tælle brugere på tværs af de domæner
Avatar billede phpguru1 Nybegynder
17. juni 2008 - 08:17 #2
Yeps den bliver aldrig kaldt - ej heller efter session udløb :(

Men den med at gemme Sessions i SQL-serveren snupper jeg - smid et svar og så får du lidt point.
Avatar billede mikalj Nybegynder
17. juni 2008 - 09:49 #3
svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester