Jaka jest różnica między zniszczeniem sesji a usunięciem jej wartości? Czy możesz podać przykład, który to potwierdza?
Szukałem tego pytania, ale nie rozumiem pełnej odpowiedzi. Oto niektóre odpowiedzi:
Session.Abandon()
niszczy sesjęSession.Clear()
po prostu usuwa wszystkie wartości
Znajomy powiedział mi to:
Wyczyszczenie sesji nie powoduje usunięcia sesji, nadal istnieje ona z tym samym identyfikatorem użytkownika, ale z wartościami po prostu wyczyszczonymi.
Porzucenie całkowicie zniszczy sesję, co oznacza, że musisz rozpocząć nową sesję, zanim będziesz mógł przechowywać więcej wartości w sesji dla tego użytkownika.
Poniższy kod działa i nie zgłasza żadnych wyjątków.
Session.Abandon();
Session["tempKey1"] = "tempValue1";
Kiedy porzucisz () sesję, ty (a raczej użytkownik) otrzymasz nowy identyfikator sesji
Kiedy testuję sesję, nie wprowadza żadnych zmian, kiedy opuszczam sesję.
Widzę tylko jedną różnicę:
session.Abandon()
podnosi Session_End
wydarzenie