|
| Online brugere Fra : Søren Nielsen |
Dato : 14-11-01 14:21 |
|
På et website har jeg en liste over online brugere. Funktionen viser de
brugere som er sat til online ved login i databasen. Problemet er så at
nogle brugere glemmer at logge ud, men istedet bare lukker vinduet. Dette
gør at brugerene vil blive vist i onlinelisten selvom de for længst har
logget af. Hvordan kan man sikre at dette ikke sker ?
Mvh Søren Nielsen
| |
Anders Holbøll (14-11-2001)
| Kommentar Fra : Anders Holbøll |
Dato : 14-11-01 16:38 |
|
"Søren Nielsen" wrote:
>
> På et website har jeg en liste over online brugere. Funktionen
> viser de brugere som er sat til online ved login i databasen.
> Problemet er så at nogle brugere glemmer at logge ud, men
> istedet bare lukker vinduet. Dette gør at brugerene vil blive
> vist i onlinelisten selvom de for længst har logget af. Hvordan
> kan man sikre at dette ikke sker ?
Dette emne har været oppe i gruppen før (prøv at læse tilbage). Men du
kan jo blot gemme tidspunktet for sidste sidehentning og logge brugere
ud, som ikke har hentet en side i over et kvarter (det er nok ganske
hårdt for databasen), eller du kunne logge folk ud når deres session
timer ud.
--
Anders
| |
Jesper Nielsen (14-11-2001)
| Kommentar Fra : Jesper Nielsen |
Dato : 14-11-01 16:45 |
|
> eller du kunne logge folk ud når deres session
> timer ud.
Via Session_OnEnd i global.asa? Den bliver ikke altid udført - især ikke på
moderat til hårdt belastede servere.
Det vil heller ikke virke på sites, hvor Session State ikke bruges.
/jesper/
| |
Jesper Nielsen (14-11-2001)
| Kommentar Fra : Jesper Nielsen |
Dato : 14-11-01 16:43 |
|
> På et website har jeg en liste over online brugere. Funktionen viser de
> brugere som er sat til online ved login i databasen. Problemet er så at
> nogle brugere glemmer at logge ud, men istedet bare lukker vinduet. Dette
> gør at brugerene vil blive vist i onlinelisten selvom de for længst har
> logget af. Hvordan kan man sikre at dette ikke sker ?
Jeg går ud fra, at du gemmer oplysningerne om de brugere, der er online, i
en database eller noget.
Du kan så i denne database lave et felt der hedder LastActivity eller noget
i den stil, og for hver pagerequest brugeren laver, opdaterer du så dette
felt.
Du kan så i baggrunden have f.eks. en VB/VBScript applikation kørende, som
tjekker, om der er nogle brugere i databasen, der ikke har haft nogen
aktivitet i de sidste n minutter (f.eks. 10). Er der det, sletter den disse
records. Du kan f.eks. lade denne applikation køre hvert 5. eller 10.
sekund.
/jesper/
| |
Søren Nielsen (14-11-2001)
| Kommentar Fra : Søren Nielsen |
Dato : 14-11-01 22:54 |
|
"Jesper Nielsen" <jn@nielsenit.dk> skrev i en meddelelse
news:kiwI7.1458$Bs1.334756@news000.worldonline.dk...
> > På et website har jeg en liste over online brugere. Funktionen viser de
> > brugere som er sat til online ved login i databasen. Problemet er så at
> > nogle brugere glemmer at logge ud, men istedet bare lukker vinduet.
Dette
> > gør at brugerene vil blive vist i onlinelisten selvom de for længst har
> > logget af. Hvordan kan man sikre at dette ikke sker ?
>
> Jeg går ud fra, at du gemmer oplysningerne om de brugere, der er online, i
> en database eller noget.
> Du kan så i denne database lave et felt der hedder LastActivity eller
noget
> i den stil, og for hver pagerequest brugeren laver, opdaterer du så dette
> felt.
>
> Du kan så i baggrunden have f.eks. en VB/VBScript applikation kørende, som
> tjekker, om der er nogle brugere i databasen, der ikke har haft nogen
> aktivitet i de sidste n minutter (f.eks. 10). Er der det, sletter den
disse
> records. Du kan f.eks. lade denne applikation køre hvert 5. eller 10.
> sekund.
>
Er det ikke meget ressourcekrævende ?
| |
Jesper Nielsen (15-11-2001)
| Kommentar Fra : Jesper Nielsen |
Dato : 15-11-01 08:34 |
|
> > Du kan f.eks. lade denne applikation køre hvert 5. eller 10.
> > sekund.
> >
>
> Er det ikke meget ressourcekrævende ?
Det er under alle omstændigheder mindre resourcekrævende end at lade
brugerne tjekke og slette brugere der er timet ud ved hvert page view. Det
er denne måde, som mange store websites bruger. Andre bedre metoder modtages
naturligvis gerne.
/jesper/
| |
|
|