Global.asa problem (ovanligt)

ASP

5 svar · 226 visningar · startad av LearningASP

Medlem sedan okt. 2001127 inlägg
Trådstart#1

Jag laddade hem Vides räknare (mycket bra) men jag har ett litet problem när man stänger sidan så stänger den inte ner den besökaren utan plusar bara på helatiden på aktiva besökare.

Hur kommer detta sig?

Jag har global.asa i roten men jag har flera saiter i den mappen men jag använder bara räknaren på 1 sida, kan det bero på det?

Tack på förhand...

Medlem sedan maj 20011 312 inlägg
#2

Samma problem hade jag, men jag skulle i och för sig inte ha antal personer på sidan utan antal personer inloggade.

Medlem sedan dec. 19998 577 inlägg
#3

Det är ett välkänt problem. Det hela buggar ur när Session_onEnd skall anropas, för användarens session finns kvar sålänge du har kvar någon instans av IE, i NS vet jag inte. I vilket fall så skall sessionen avslutas efter det att Session.TimeOut har nått sitt värde (default 20min).

Mvh, Vide

Medlem sedan feb. 20012 412 inlägg
#4

Hej!

Session.TimeOut har nått sitt värde (default 20min).

Med undantag av IIS 5 vilket har default 10 minuter om jag inte minns fel. :e

mvh Jörgen :)

Medlem sedan okt. 2001127 inlägg
#5

Jag undrar en annan sak med Vides besöksräknare jag får samma antal på antal besökare totalt och idag

det är denna SQL för idag funktionen (jag visar bara unika besökare på både total och idag)

'***** Skapar ett recordset och hämtar alla distincta träffar idag *****'
Set objRs = Server.Createobject("ADODB.Recordset")
strSQL = "Select distinct ip from logg where dtm > #" & date-1 & "#"
objRs.open strSQL, "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.Mappath("../../../scripts/stats.mdb") & ";",1,2

idag_antal_unik = objRs.recordcount

Set objRs = Nothing
Medlem sedan dec. 200012 464 inlägg
#6
set connect = server.createobjec("adodb.connection")
connect.open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.Mappath("../../../scripts/stats.mdb") & ";"

strSQL = "Select count(*) from (select distinct ip from logg where dtm >= now())"

set rs = connect.execute (strSQL)
idag = rs(0)

rs.close
set rs = nothing

strSQL = "Select count(*) from (select distinct ip from logg )"

set rs = connect.execute (strSQL)
total = rs(0)

rs.close
set rs = nothing

Om du skall göra flera databasfrågor så är det bättre att skapa ett connectionobjekt. Om du använder count i select-frågan så slipper du skyffla en massa data från databasen till recordsetet.

260 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)