/ / Jak działa Asp.net Session_End - asp.net, sesja, wylogowanie, sessionend

Jak działa Asp.net Session_End - asp.net, sesja, wylogowanie, sesja

W mojej aplikacji internetowej asp.net, gdy użytkownik się zalogował, ustawiłem flagę isLogged w db na true.

Korzystam z metody Session_End, aby ustawić fałszywą flagę isLogged po wygaśnięciu sesji (po 120 minutach).

Testuję tę metodę w wielu przypadkach:

  • Gdy użytkownik zamyka przeglądarkę bez kliknięcia przycisku wylogowania, po upływie limitu czasu sesja kończy swoją pracę.
  • To samo dzieje się, gdy użytkownik zablokuje urządzenie lub przejdzie w tryb gotowości.

Mój problem polega na tym, że są tacy użytkownicy„pozostań zalogowany”, jeśli nie klikną przycisku wylogowania. Jestem z tobą szczery, nie rozumiem, dlaczego session_end działa, gdy urządzenie klienckie nie jest podłączone do strony internetowej. Myślałem, że serwer wykonał zadanie Session_end, ale jeśli to prawda, dlaczego dla niektórych użytkowników nie działało ?

Przyczyną może być przeglądarka lub typ urządzenia (mobilnego czy nie)?

Odpowiedzi:

0 dla odpowiedzi № 1

Jeśli włączyłeś wygasanie wygasania dla sesjia przeglądarka wysyła stałe żądania AJAX, a pozostawienie otwartego okna przeglądarki może utrzymać sesję przy życiu na zawsze. W zakresie działania zdarzenia zakończenia sesji:

Podprogram Session_OnEnd jest uruchamiany, gdyPorzucono metodę wywoływany lub gdy sesja wygasła. Sesja wygasa, gdy liczba minut określona przez właściwość Limit czasu mija bez znaku wysyłane jest żądanie sesji.