Hej!
Jag lagrar på min sajt alla gästerna som är online. Deras unika ID är Sessionsid:et (som man som bekant får genom Session.SessionID)
När jag gick in på min sajt tidigare fick jag till min stora glädje se att jag just nu hade 28 gäster online. Jag har även en funktion så man kan se var de är på sidan (precis som här på webForum). Jag blev ju eld av lågor och naturligtvis mycket glad, men häpen! Jag måste ju kolla från vilken sida alla dessa har kommit ifrån. Genast gick jag in i loggfilen, men såg att det var bara ett IP-nummer som besökt sidan vid de klockslagen. Och de hade besökt 28 sajter!
Det har fungerat felfritt i ett par dagar, men inte nu!
Men varför fick han olika Session.SessionID ?
Besökaren hade för övrigt Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1;+.NET+CLR+1.0.3705)
Kunde det inte vara en hon som gick in på sidan? ;)
Skämt åsido, sessions är inte 100% pålitligt, kanske accepterar inte användaren cookies och servern skapar en ny session för varje anrop? Hur som helst, i detta fallet bör du även (eller bara) ta fram unika besökare via IP-nummer.
Som det är nu så har jag en databas som heter online. I denna finns det ID (ett unikt id som för tillfället är baserad på sessionsid:et), Sida (position, t.ex. default.asp), Namn (Gäst för gäst, eller användarnamnet om denna är medlem) och Tid (klockslag).
I Session_OnStart så kollar den om det är en gäst eller medlem och skriver sedan in i databasen.
I Session_OnEnd så raderar den posten där ID är Session.SessionID.