Estoy utilizando unas pocas sesiones que deberían finalizar cuando el usuario termine. Me encontré con estos 3 asesinos de sesión. ¿Cuándo es el mejor momento para usar estos ya que uso sesiones más tiempo que no? Además, ¿hay alguna otra terminación de sesión de la que no tenga conocimiento?Optimización de MVC para Session.Clear(), Session.Abandon(), Session.RemoveAll()?
Respuesta
Session.Clear
Session.RemoveAll
y son idénticos; el último solo llama al primero. Inmediatamente eliminan todos los elementos almacenados en la sesión, pero la sesión misma sobrevive. Session_OnEnd no se activa.
Session.Abandon
en realidad no borra los valores inmediatamente, simplemente marca la sesión que se abandonará al final de la solicitud actual. Puede seguir leyendo los valores para el resto de la solicitud. Si escribe en la sesión más adelante en la solicitud, el nuevo valor se descartará silenciosamente al final de la solicitud sin previo aviso. Session_OnEnd se dispara al final de la solicitud, no cuando se llama a Abandonar.
USTED SIR .. ME SALVÓ DE MATARME A MÍ MISMO. Pensé que era 'genial' llamar a 'Session.Abandon()' al comienzo de mi 'Login' y luego ingresar los datos, si el inicio de sesión se realiza correctamente. Gracias por esto. Puedo dormir ahora – Madushan
Session.Clear
no mata a una sesión, borra todos los valores. Session.Abandon
realmente mata la Sesión.
Parece que la mayor parte de esto se trata aquí: In ASP.NET, when should I use Session.Clear() rather than Session.Abandon()?
¡Agradable! Gracias ... ¿qué pasa con Session.RemoveAll()? – MrM
poco tarde aquí, pero le gustaría compartir la prueba de que es correcta @stevemegson como Session.RemoveAll
llama internamente Session.Clear
public void Clear()
{
this._container.Clear();
}
public void RemoveAll()
{
this.Clear();
}
Y lo que no es exactamente ninguna diferencia entre en todos los
Y session.Abandon
llamadas
public void Abandon()
{
this._container.Abandon();
}
que básicamente lo hacen :) ..
public void Abandon()
{
this._abandon = true;
}
- 1. Session.Clear() vs. Session.RemoveAll()
- 2. ¿Cuál es la diferencia entre Session.Abandon() y Session.Clear()
- 3. ¿Cuál es la diferencia entre Session.Abandon() y Session.Clear() en ASP.Net?
- 4. Session.Abandon() no abandona la sesión inmediatamente
- 5. Paquetes de optimización para R
- 6. ¿Cuál es el negocio de Session.clear() en NHibernate?
- 7. SessionID sigue siendo el mismo después de Session.Abandon llamada
- 8. optimización de matlab para el ciclo
- 9. Herramientas de optimización para C y C++
- 10. banderas de optimización gcc para Xeon?
- 11. Ayuda para comprender la optimización de C#
- 12. Optimización de software para máquinas virtuales
- 13. optimización de cadena pequeña para vector?
- 14. Optimización de CTE para consultas recursivas
- 15. Optimización de SELECT COUNT para EXISTS
- 16. optimización de Objective-C
- 17. Código de optimización
- 18. Optimización SQLite para la aplicación Android
- 19. optimización del compilador para la estabilidad numérica
- 20. Optimización de ASP.NET - Inclusión de
- 21. Módulo Python para optimización global variable múltiple
- 22. Optimización de ViewState
- 23. impulso :: ninguna optimización typeid para C++ 11
- 24. optimización quadprog
- 25. Optimización de CVPixelBufferRef
- 26. Des-optimización de MySQL
- 27. Herramientas de optimización PNG
- 28. Optimización de bucles "estáticos"
- 29. Optimización de consultas dinámicas
- 30. 0 optimización
posible duplicado de [En ASP.NET, ¿cuándo debería usar Session.Clear() en lugar de Session.Abandon()?] (Http://stackoverflow.com/questions/347377/in-asp-net -when-should-i-use-session-clear-rather-session-abandon) – jfar
Como duplicado ... ¿debería eliminar esta pregunta? – MrM