2010-08-12 10 views
1

Lorsqu'un utilisateur accède à la page d'ouverture de session, je souhaite détecter si sa session a expiré et a été redirigée vers cette page afin qu'un message convivial s'affiche.Détecter les délais de session/distinguer entre la première visite et le délai d'attente de session

J'ai défini isTimeout = true lorsque la session est une nouvelle session et que le cookie ["ASP.NET_SessionId"] n'est pas nul. Mais isTimeout était réglé à vrai quand c'était aussi une première visite. Comment distinguer les premières visites des timeouts?

Merci d'avance!

Répondre

1

Dans votre Global.asax il existe une méthode appelée Session_End pour gérer cela.

Vous pouvez l'utiliser pour ajouter toutes les fonctionnalités dont vous avez besoin. Par exemple, définir TempData ["IsTimeout"] sur true (si vous utilisez ASP.NET MVC). Cela persistera après la redirection et est accessible sur votre vue de connexion. Il sera ensuite détruit.

E.g. Dans votre Global.asax.cs

protected void Session_End(Object sender, EventArgs e) 
{ 
    TempData["IsTimeout"] = true; 
} 

Dans votre journal en vue:

<%: ((bool)(TempData["IsTimeout"] ?? false)) ? "For security reasons you were timed out, please log in again" : "" %> 
Questions connexes