¿Cuál es la diferencia entre destruir una sesión y eliminar sus valores? ¿Puede proporcionar un ejemplo que demuestre esto?
Busqué esta pregunta, pero no capto la respuesta total. Algunas respuestas son:
Session.Abandon()
destruye la sesiónSession.Clear()
solo elimina todos los valores
Un amigo me dijo esto:
Borrar la sesión no anulará la sesión, todavía existe con el mismo ID para el usuario pero con los valores simplemente borrados.
El abandono destruirá la sesión por completo, lo que significa que debe comenzar una nueva sesión antes de poder almacenar más valores en la sesión para ese usuario.
El siguiente código funciona y no arroja ninguna excepción.
Session.Abandon();
Session["tempKey1"] = "tempValue1";
Cuando abandona () una sesión, usted (o más bien el usuario) obtendrá un nuevo SessionId
Cuando pruebo la sesión, no hace ningún cambio cuando abandono la sesión.
Solo encuentro una diferencia:
session.Abandon()
sube el Session_End
evento