Avatar billede fun22 Nybegynder
30. december 2005 - 20:34 Der er 5 kommentarer og
1 løsning

On session end køres ikke?

Hej..

Jeg har en global.asa til mit online bruger system, men den vil ikke slette brugeren fra listen når man logger af. Er der nogen som kan se fejlen?

<SCRIPT LANGUAGE=VBScript RUNAT=Server>
Sub Application_OnStart
    ' Skriv kode som skal køres når applikationen (serveren) starter
   
    Application.Lock
      Application("OnlineUsers") = ","
    Application.UnLock
End Sub

Sub Application_OnEnd
    ' Skriv kode som skal køres når applikationen (serveren) stoppes
End Sub

Sub Session_OnStart
    ' Skriv kode som skal køres når en session starter
    Application.Lock
        if session("login") = "SES"&date() then
            Application("OnlineUsers") = Application("Onlineusers") & session("user") & ","
        else
            Application("OnlineUsers") = Application("Onlineusers") & "Gæst" & ","
        end if
    Application.UnLock
End Sub

Sub Session_OnEnd
    ' Skriv kode som skal køres når en session afsluttes
   
    If Len(Session("User")) > 0 Then
      Application.Lock
      Application("OnlineUsers") = Replace(Application("OnlineUsers"), Session("User") & ",", "")
      Application.UnLock
    End If
 
End Sub
</SCRIPT>

Den ser slet ikke ud til at køre Session_OnEnd for har prøvet at indsætte:

        Application.Lock
      Application("OnlineUsers") = ","
    Application.UnLock

Men den står stadig på 2 online.. Det er kun hvis jeg uploader global.asa igen at den begynder forfra og så tæller op når der kommer en på siden. Men den sletter ikke igen..
Avatar billede busschou Praktikant
01. januar 2006 - 13:42 #1
Tja der kan være flere ting vel
Session_onStart køres når sessionen starter, altså første gang man går ind på en asp side. Ergo kan du ikke være sikker på at session("login") er sat - så jeg kunne tro du kun ser det som om du har "gæster"
En anden ting er at du i session_onend tester på session("user"), men er du sikker på at du har sat den session?, og hvis det er en gæst, betyder det så at der ikke er nogen session("user")? For i givet fald har du to "gæster" som aldrig fjernes...

Nå det er bare lidt hurtig gætværk :o) Læs evt en artikkel omkring global.asa
http://eksperten.dk/artikler/752

PS: Hvis jeg ikke svarer igen så er det fordi jeg desværre ikke modtager mails fra exp mere :o( Så ikke for at være uhøflig :o)
Avatar billede fun22 Nybegynder
01. januar 2006 - 14:47 #2
Ja jeg er sikker på at der er noget i session("user"). For på min første side laver jeg et tjek, om brugeren er logget ind via, auto login eller om det er en gæst. Hvis det er en gæst så bliver session("user") sat til "Gæst" og det virker også fint, på den side hvor jeg får vist de brugere som er online. Men når så "Gæst" går væk fra min side, så står han stadig til at være der, indtil der kommer en time out.

Jeg har læst den artikel. Meget god...
Avatar billede busschou Praktikant
01. januar 2006 - 16:52 #3
ok men når man går væk fra din side så vil session_onend også først kaldes når sessionen dør, hvilket den gør ved timeout - det er hele ideen med session_onend ;o)
Så det kan ikke undgåes at der går noget tid før den kaldes
Med mindre du sætter session_timeout = 1 eller noget - men så går der jo kun et minut!
Det vil så omvendt give problemer hvis man lige går kort væk fra skærmen, for så bliver man logget af for hurtigt.....
Så hvis din kode virker og dine gæster "forsvinder" efter 20min timeout, ja så virker det jo efter hensigten.
Problemet med hvor lang tid man så skal vente, det vil altid være der, desværre
Avatar billede fun22 Nybegynder
02. januar 2006 - 21:03 #4
Okay, jammen så er alt jo som det skal være..

Det var bare fordi jeg skal bruge det til at sætte en bruger til offline, men det bliver jo 20 min forsinket så..

Og hvis man går ind på siden igen så laver den jo en ny session..
Avatar billede fun22 Nybegynder
09. januar 2006 - 20:34 #5
Smider du lige et svar?
Avatar billede busschou Praktikant
18. januar 2006 - 23:41 #6
yes nu er min mail endelig oppe og køre igen, så nu kommer svaret :o))
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