Necesito una forma de decirle a ASP.NET "Elimine la sesión actual y comience nuevamente con una nueva" antes/después de un redireccionamiento a una página.Haga que la sesión expire correctamente en ASP.NET
Aquí es lo que estoy tratando de hacer:
1) detectar cuando caduca una sesión en la página maestra (o Global.asax) de una aplicación ASP.NET.
2) Si la sesión ha expirado, redirija al usuario a una página indicándole que su sesión ha expirado. En esta página, esperará 5 segundos y luego redirigirá al usuario a la página principal de la aplicación o, alternativamente, puede hacer clic en un enlace para llegar antes si lo desea.
3) El usuario llega a la página principal y comienza a utilizar la aplicación nuevamente.
Ok, hasta ahora tengo los pasos 1 y 2 cubiertos. Tengo una función que detecta la caducidad de la sesión utilizando la propiedad IsNewSession y el valor de la cookie de ID de sesión ASP.NET. si detecta una sesión caducada, redirige, espera cinco segundos y luego INTENTA ir a la página principal.
El problema es que cuando intenta redireccionar, llega a la parte de la página maestra para detectar una sesión caducada y devuelve verdadero. Intenté llamar a Session.Abandon(), Session.Clear(), incluso estableciendo la sesión en NULL, sin suerte.
Alguien por ahí tiene que haber enfrentado este problema antes, por lo que confío en que la comunidad tenga una buena solución. Gracias por adelantado.
no estoy seguro de por qué usted tiene un problema, ¿por qué SOULD la IsNewSession ser cierto cuando se solicita la página principal. Para entonces, ya ha recibido una solicitud para una página y luego una solicitud para la "Sesión expirada" y luego a la página principal. ¿Por qué IsNewSession seguiría siendo cierto? – AnthonyWJones