¿Cuál es la diferencia entre destruir una sesión y eliminar sus valores? ¿Puedes dar un ejemplo demostrando esto?¿Cuál es la diferencia entre Session.Abandon() y Session.Clear()
He buscado esta pregunta, pero no entiendo la respuesta total. Algunas respuestas son:
Session.Abandon()
destruye la sesiónSession.Clear()
sólo elimina todos los valores
un amigo me dijo esto:
Borrado de la sesión no se desarmará la sesión, todavía existe con el mismo ID para el usuario pero con los valores simplemente borrados.
Abandonar destruirá la sesión por completo, lo que significa que usted necesita para comenzar una nueva sesión antes de que pueda tienda de cualquier valor más en la sesión para ese usuario.
El siguiente código funciona y no arroja ninguna excepción.
Session.Abandon();
Session["tempKey1"] = "tempValue1";
Cuando se abandona() de una sesión, usted (o más bien la usuario) recibirá una nueva SessionId
Cuando la prueba de sesiones, no se hace ningún cambio cuando Abandono la sesión.
acabo de encontrar una diferencia: session.Abandon()
plantea Session_End
caso
Sesión.Borre los elementos inmediatamente, pero Session.Abandon marca la sesión que se abandonará al final de la solicitud actual. – RepDbg