Avatar billede idiotbarn Nybegynder
18. marts 2001 - 21:55 Der er 5 kommentarer og
2 løsninger

Online users, fejl?

Jeg har et asp script, der skal se hvor mange brugere der er online, hvorfor virker det ikke? Den skriver 1 når jeg er på siden, men det gør den også for alle andre....hvorfor?

<body>
<SCRIPT LANGUAGE=\"VBScript\" RUNAT=\"Server\">
Sub Application_OnStart
    \' Nulstiller antallet af brugere når applikationen (serveren) startes
    Application(\"ActiveUsers\") = 0
End Sub

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

Sub Session_OnStart
    \' Forøger antallet af brugere med 1, når en session startes
    Application.Lock
        Application(\"ActiveUsers\") = Application(\"ActiveUsers\") + 1
    Application.UnLock
End Sub

Sub Session_OnEnd
    \' Reducer antallet af brugere med 1, når en session afsluttes
    Application.Lock
        Application(\"ActiveUsers\") = Application(\"ActiveUsers\") - 1
    Application.UnLock
End Sub
</SCRIPT>
I øjeblikket er der <%=Application(\"ActiveUsers\")%> brugere på siden.
</body>
Avatar billede idiotbarn Nybegynder
18. marts 2001 - 21:56 #1
Hvis der er nogen der kan forslå en bedre løsning, så ville det også være helt fint...
Avatar billede netsrac Praktikant
18. marts 2001 - 21:58 #2
Fordi det script skal ligge i din global.asa og ikke på siden.
Avatar billede bjarke-b Nybegynder
19. marts 2001 - 11:25 #3
Du kan finde et online users script her:
http://www.netcoders.dk/articles.asp?mode=show_article&article_id=93&tech_id=1


det er mere præcist end et med global.asa
Avatar billede netsrac Praktikant
19. marts 2001 - 12:00 #4
bjarke-b >> Hvordan er det mere præcist når global.asa i realiteten er inkluderet på alle sider ?
Avatar billede bjarke-b Nybegynder
19. marts 2001 - 12:02 #5
\"Final words ...
Dette system er meget enkelt, men til gengæld også meget effektivt og præcist.

Bemærk : Grundet forskellen i brugte ressourcer på hhv. IIS3/4 og IIS5, anbefales denne online users metode kun at blive brugt på IIS5.

Der har længe været en anden metode at optælle online brugere på, ved brug af \"session_onstart()\" og \"session_onend()\" i global.asa filen, men denne er meget, meget forkert at bruge, da \"session_onend()\" i mange tilfælde ikke bliver kørt, og derved vil antallet af brugere online bare stige, stige og stige ;-(

Jeg håber at I kan bruge ovenstående \"skelet\" til evt. at udbygge det og lave noget større - det er kun jeres fantasi der sætter grænserne.\"
Avatar billede bjarke-b Nybegynder
19. marts 2001 - 12:03 #6
Taget fra artiklen
Avatar billede idiotbarn Nybegynder
19. marts 2001 - 15:17 #7
Det gir lidt et problem...
jeg laver en fil der hedder online_users.asp:

<HTML>
<HEAD>
    <META NAME=\"GENERATOR\" Content=\"ASP Express 1.9\">
    <TITLE>Untitled</TITLE>
</HEAD>
<BODY>
<%
    application(\"online_\" & session.sessionID) = now
%>

</BODY>
</HTML>

og en fil der hedder default.asp:
<HTML>
<HEAD>
    <META NAME=\"GENERATOR\" Content=\"ASP Express 1.9\">
    <TITLE>Untitled</TITLE>
</HEAD>
<BODY>
<!-- #include file = \"online_users.asp\" -->
<%
dim appvar

For Each appvar in Application.Contents
    if left(appvar, 7) = \"online_\" then
        if IsDate(application.contents(appvar)) then
            if Datediff(\"n\", application.contents(appvar), now) < 2 then
                antal_online = antal_online +1
            end if
        end if
    end if
Next

response.write \"Der er lige nu \" & antal_online & \" brugere online.\"

%>
</BODY>
</HTML>

Det eneste jeg ser er: \"Der er lige nu brugere online.\"
Jeg har lagt begge filer i roden.
Hvad har jeg gjort forkert?
Hvad er IIS5?
Er det ligemeget om jeg uploader binær eller ASCII?

-Brian
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