Avatar billede jernespand Nybegynder
30. oktober 2003 - 23:44 Der er 9 kommentarer og
1 løsning

active sessions vha. global.asa

Til at vise hvor mange er online lige nu bruger jeg følgende i min global.asa:

Sub Application_OnStart
Application("ActiveUsers") = 0
End Sub

Sub Session_OnStart
Session.Timeout = 20
Session("Start") = Now
Application.Lock
Application("ActiveUsers") = Application("ActiveUsers") + 1
Application.UnLock
End Sub

Sub Session_OnEnd
Application.Lock
Application("ActiveUsers") = Application ("ActiveUsers") - 1
Application.UnLock
End Sub


Problemet er bare det at efter nogle dage ligger ("ActiveUsers") på et konstant højt tal,,og vokser, ,dvs.. den +'er ikke lige meget som den -'er
Nogle tips?
Avatar billede jernespand Nybegynder
31. oktober 2003 - 12:50 #1
hmm ingen svarer- - er jeg for uklar`?- -   

når jeg skal vise hvor mange er online skriver jeg:
response.write "Antal online: " & Application("ActiveUsers")

Spørg venligst ! om der er noget jeg har glemt eller forsømt at skrive :)
Avatar billede hossein Nybegynder
31. oktober 2003 - 13:31 #2
Det er et godt ex hvor du kan tilpasse og tilrette til dit eget brug, kode exampel virker oxo: http://www.codeproject.com/asp/user_logtime.asp?target=online
Avatar billede jernespand Nybegynder
31. oktober 2003 - 14:51 #3
hmm.. ok jeg omformulerer lige mit prob.

jeg har en variable som vokser med 1 hver gang en session starter

Samme Variabel minker med 1 hver gang en session slutter

Timeout på en session er 20 min.

Men, når fx. 100 brugere har været på siden i 1 dag, vil variablen ikke længere ned end fx. 26. Selvom alle sessions er sluttede.

Har nogen nogle forslag/spørgsmål?
Avatar billede jernespand Nybegynder
31. oktober 2003 - 15:00 #4
-----
Sub Session_OnStart
Session.Timeout = 20
Session("Start") = Now
-----

Kan det måske være et dd-mm-yyyy vs. mm-dd-yyyy problem?
Avatar billede a-torsten Nybegynder
31. oktober 2003 - 15:13 #5
Din global.asa skal sidde således ud:

<script language="vbscript" runat="server">
Sub Application_OnStart
    Application("ActiveUsers") = 0
End Sub

Sub Session_OnStart
    Session.Timeout = 20
    Session("Start") = Now
    Application.Lock
        Application("ActiveUsers") = Application("ActiveUsers") + 1
    Application.UnLock

End Sub

Sub Session_OnEnd
    Application.Lock
        Application("ActiveUsers") = Application("ActiveUsers") - 1
    Application.UnLock
End Sub
</script>

og den SKAL ligge i roden af serveren....

dvs. at den skal ligge i www.domæne.dk/ og ikke www.domæne.dk/minside/

Du includere den ikk vel..?? Den skal bare ligge uberørt i baggrunde...

/anders
Avatar billede erikjacobsen Ekspert
31. oktober 2003 - 15:20 #6
...og der må ikke ligge andre global.asa-er og flyde i andre kataloger.
Avatar billede jernespand Nybegynder
31. oktober 2003 - 15:33 #7
den virker fint, variblen tæller jo. . bare ikke lige meget bægge veje..
Avatar billede jernespand Nybegynder
31. oktober 2003 - 15:34 #8
kun én global.asa og den er i hovedroden
Avatar billede a-torsten Nybegynder
31. oktober 2003 - 16:29 #9
Så må det være serveren.....

Dog skal man ikk regne med en 100% stabil løsning... Der skal ikk meget ustabilitet til før det går galt...

Prøv at sætte Session.Timeout = 1 ....

Bare for at teste om det kommer til at virke..

/Anders
Avatar billede jernespand Nybegynder
29. november 2004 - 15:35 #10
Det var min dårlige internet opkobling der gjorde det
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
Kurser inden for grundlæggende programmering

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