Pregunta

¿Cuál es la diferencia entre Session.Abandon() y Session.Clear() en ASP.Net?

¿Fue útil?

Solución

Session.Abandon() pondrá fin a la sesión actual. Session_End será despedido y la siguiente solicitud se disparará el evento Session_Start.

Session.Clear simplemente borrará los datos de sesión y la sesión permanecerá vivo.

ID de sesión seguirá siendo el mismo en ambos casos, siempre y cuando el navegador no está cerrado.

En pocas palabras:

Session.Abandon(); cancela la Session actual.

Session.Clear(); borra todos los valores de un estado Session.

Otros consejos

Session.Abandon() 

va a destruir / matar a toda la sesión.

Session.Clear()

elimina / borra los datos de sesión (es decir, los valores y las claves de la sesión actual), pero la sesión estará vivo.

Comparación con el método Session.Abandon (), Session.clear () no crea la nueva sesión, que acaba de hacer todas las variables de la sesión a NULL.

ID de sesión se mantendrá igual en los dos casos, siempre y cuando el navegador no está cerrado.

Algunas cosas a tener en cuenta aquí desde mi experiencia:

Session.Abandon() no invalida la sesión actual. esas peticiones se ejecutan bien si reproducirlas.

Sin embargo, después de que lo llame, el establecimiento de los contenidos de la sesión abandonada diccionario tienen ningún efecto permanente. La siguiente petición consigue un diccionario fresca nueva sesión (incluso si se utiliza el mismo ID de sesión mediante la reproducción de una petición anterior) y ninguno de los cambios anteriores a ella (después de haber llamado al método) están ahí.

Por lo tanto, parece que Session.Abandon() se detiene por completo la persistencia de toda la sesión, mientras que Session.Clear() sólo elimina sus datos.

Y, también, si es necesario para garantizar la aplicación de los ataques de repetición, se debe añadir un poco de lógica que las sesiones valida y no dependen de ninguno de estos métodos incorporados. Esas parecen ser destinado a sólo la gestión de la persistencia de los datos de la sesión, no para asegurar su aplicación.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top