Avatar billede clansite.dk Nybegynder
17. maj 2005 - 16:00 Der er 6 kommentarer

Global.asa

<SCRIPT LANGUAGE=VBScript RUNAT=Server>

Sub Application_OnStart
    ' viser at vi starter fra 0 - kan ændres for evt snyd(!) ;o)
    Application("ActiveUsers") = 0
    Session.TimeOut = 10
End Sub

Sub Session_OnStart
    ' så er timeout'en på en session 3 minutter - kan ændres...
    Session.Timeout = 10
    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
   
    Set Conn = Server.CreateObject("ADODB.Connection")
    Conn.Open "Driver={Microsoft Access Driver (*.mdb)}; Dbq=" & server.mappath("/db.mdb") & "; pwd=;"
   
    Conn.Execute("UPDATE users SET Logout = #" & Now() & "#, Online = false WHERE Online = true AND id = " & Session("ID") & "")
    Set Rs = Conn.Execute("SELECT * FROM users WHERE id = " & Session("ID") & "")
    strTime = datediff("n", Rs("Login"), Rs("Logout"))
    strTime = Rs("OnlineTid") + strTime
    Conn.Execute("UPDATE users SET OnlineTid = '" & strTime & "', OnlineOpdater = '', OnlinePage = '' WHERE id = " & Session("ID") & "")
   
    Session.Abandon
   
    Alert("Du er hermed logget ud!")
End Sub

</SCRIPT>

-------------
Det er så min Global.asa som ligger i roden af min Pub_html mappe. Men jeg har så det problem at det er somom at Session_OnEnd ikke bliver udviklet.

Er der nogen der kan se hvorfor??
Avatar billede jokkejensen Novice
17. maj 2005 - 17:45 #1
jeg har tidligere haft problemer med at rettigheder til databasen i Session_end... dog med asp.net... Jeg løste det ved at oprette et array med det der skulle løses og kørte det med passende intervaller..
Avatar billede clansite.dk Nybegynder
17. maj 2005 - 17:59 #2
Jokke, hvordan vil du dog lave det med det her?
Avatar billede jokkejensen Novice
17. maj 2005 - 18:03 #3
gemme deres id og tid.. eventuelt i 2 arrays.. og køre det ved Session_start (kommer selvfølgeligt an på antal brugere.)
Avatar billede jokkejensen Novice
17. maj 2005 - 18:04 #4
Ser sådan her ud til C#;

        protected void Session_End(Object sender, EventArgs e)
        {


            Application["OnlineUsers"] = (int) Application["OnlineUsers"] - 1;
            ((ArrayList)Application["updateThese"]).Add(Session.SessionID.ToString());

           
           

        }

Men ved desværre ikke hvordan til asp.
Avatar billede busschou Praktikant
18. maj 2005 - 18:59 #5
Har fundet en mulig løsning her
http://www.eksperten.dk/spm/45290
Nederst nede finder man et link til
http://msdn.microsoft.com/library/psdk/iisref/glob2y90.htm
Den side virker så ikke mere men pointen er at der på den side engang har stået
--
Remarks
You cannot call the MapPath method in the Session_OnEnd script.
--
Så prøv med den absolutte sti
Avatar billede busschou Praktikant
19. juli 2005 - 10:32 #6
clansite.dk >> kommet videre?
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