Bonjour, J'ai quelques problèmes avec l'état de la session ASP.NET MVC qui n'expire pas après l'implémentation du code suivant et la mise en place des attributs sur les méthodes.Problème d'expiration de session dans ASP.NET MVC
public sealed class SessionActionFilterAttribute : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
HttpContext ctx = HttpContext.Current;
//Check if session is supported
if (ctx.Session != null)
{
//Check if the session is new
if (ctx.Session.IsNewSession)
{
//If it says it is a new session but an existing cookie exists
//then it must have timed out
string sessionCookie = filterContext.HttpContext.Request.Headers["Cookie"];
if ((sessionCookie != null) && (sessionCookie.IndexOf("ASP.NET_SessionId", StringComparison.OrdinalIgnoreCase) >= 0))
{
//Redirect to the login page
ctx.Response.Redirect("~/Home/Index", true);
ctx.Response.End();
}
}
}
base.OnActionExecuting(filterContext);
}
}
Le problème est que la demande de redirection ne sont pas en cours d'exécution et l'action qui a SessionActionFilter Attribute exécute. Cette méthode utilise des variables de session qui ont expiré et des résultats erronés.
Quelqu'un peut-il dire ce qui me manque?
Merci beaucoup d'avance !!
Je suis curieux de savoir à quoi exactement vous utilisez la session? –