[ torb-d-man @ 13.09.2011. 15:01 ] @
Poz. interesuje me da li neko zna kako se u ASP.NET-u prati ko je sve od korisnika ulogovan na ASP.NET sajt (sql baza). Tako da u svakom trenutku imam listu ulogovanih korisnika negde na sajtu. Proveru stanja u bazi npr. tabela KORISNICI kolona KORISNICI.ULOGOVAN bih vršio nekim js timerom na svakih 1min bih slao AJAX zahtev gde bih vršio upit nad bazom. Kako sam ja to zamislio: kada se korisnik uloguje postavim kolonu KORISNICI.ULOGOVAN = 'da' i KORISNICI.VREMELOGOVANJA = getdate(). i onda samo izlistavam one korisnike gde je ULOGOVAN = 'da'. Problem mi je što ne znam kako da uhvatim događaj kada neko napusti sajt da bih postavio ULOGOVAN = 'ne', zato što korisnik to može uraditi na više načina:
1)Može da klikne na link "izloguj se" (kad bi svi bili poslušni i radili logout ovako...međutim...)
2)Može samo da zatvori tab na iksić [X]
3)Može da zatvori ceo brovser na: - iksić [X]
- Alt + F4
- desnim u taskbaru na taj neki brovser pa "Close [X]"
- iz task managera na "End Task"
- iz task managera da ubije proces "End Process"
- na kraju krajeva može da restartuje ili izgasi komp ručno.
-....ako neko zna još neki način neka dopuni ...
Kako da ja detektujem da se nešto od ovoga desilo i da kažem u bazi KORISNICI.ULOGOVAN = 'ne' i KORISNICI.VREMELOGOVANJA = 'null'
gde IDKorisnika = 1567 npr.???
Video sam ima js event ONBEFOREUNLOAD što u velikom delu mi rešava problem osim:
-Kada korisnik klikne na refresh stranice ovaj događaj se ispaljuje (a korisnik se nije izlogovao) što mi ne odgovara.
-Kada korisnik zatvori ceo brovser (na neki od gore pomenutih načina se ONBEFOREUNLOAD ispaljuje i to zavisi od brovsera
do brovsera i od načina do načina)
,tako da ONBEFOREUNLOAD mi nije trajno rešenje.

Treba mi način tj. neko UNIVERZALNO rešenje (koje bi objedinilo sve brovsere i svaki od gore pomenutih načina izlogovavanja) kako da imam stalno u bazi u ril tajmu pravo stanje ko je ulogovan a ko ne. ASP.NET sajt + SQL baza.
Unapred hvala ako neko zna kako se ovo radi ili ako je neko naleteo na neki link..
[ Shadowed @ 13.09.2011. 15:36 ] @
Citat:
torb-d-man: Problem mi je što ne znam kako da uhvatim događaj kada neko napusti sajt

Nikako.

Ono sto mozes da uradis je da prilikom otvaranja strane (svake) belezis vreme kada je otvorena u LastVisit kolonu user-a. I onda mozes da dobijas listu svih kojima je to vreme u poslednjih X minuta.
I uvek mora biti lista u poslednjih x minuta jer na web-u ne postoji pojam "trenutno je prisutan na sajtu" zato sto kad se ucita strana, klijent i server nemaju vise veze jedan sa drugim.
[ torb-d-man @ 13.09.2011. 15:48 ] @
E OK to mi je trebalo. Da li to znači da tako funkcioniše i ES sajt koji je u PHP-u?
[ mulaz @ 13.09.2011. 15:57 ] @
Citat:
torb-d-man: E OK to mi je trebalo. Da li to znači da tako funkcioniše i ES sajt koji je u PHP-u?



da