Obsługa zamykania sesji

0

Witam, problem jest taki. Piszę aplikację w c#, która działa w uproszczeniu w następujący sposób:
1.użytkownik wpisuje swoją nawę do TextBoxa
2.nazwa jest pobierana z TextBoxa, zapisywana do bazy danych i użytkownik uzyskuje dostęp do dalszej części aplikacji(w międzyczasie sprawdzana jest unikalność podanej nazwy ale to nieistotne)
3. użytkownik kończy działanie programu i zamyka okno przeglądarki(kończy sesje), jego nazwa jest usuwana z bazy danych

Niestety na trzecim punkcie się zatrzymuję i nie mogę wymyślić jak wykryć zamknięcie sesji. Zadanie jest dość specyficzne, ponieważ z góry zabronione jest używanie mechanizmów przechowywania stanu środowiska(stan aplikacji, cookies, cache itd), nie mogę więc skorzystać z metody Session_End z global.asax i w konsekwencji nie mogę usunąć we właściwym momencie wartości z bazy.

W jaki sposób mogę poradzić sobie z tym problemem?

0

Możesz wykrywać aktywność użytkownika, przez dopisywanie obok loginu czas ostatniego requesta. Jeżeli ostatni wpis jest starszy niż limit czasu sesji, to znaczy że wygasła. Nie jest to zbyt wydajne, ale będzie działać.

1 użytkowników online, w tym zalogowanych: 0, gości: 1