2010-02-16 3 views
0

Je crée un système de gestion de contenu mais il y a un problème. Ce que je veux faire sur mon site Web, c'est que lorsqu'un utilisateur ouvre le site Web, un nouvel identifiant de session est créé pour cet utilisateur, et lorsque l'utilisateur ferme le site Web, l'identifiant de session est effacé. Comment puis-je le faire?Expiration de l'état de session dans ASP.NET

Répondre

2

Il n'existe aucun moyen de détecter lorsqu'un utilisateur ferme votre site ou quitte votre site. Après une période d'inactivité donnée (par défaut 20 min), l'objet session de l'utilisateur expirera et sera automatiquement effacé. Je suggère de vérifier le MSDN article sur la session, qui ira sur vos options pour peaufiner la session de votre application.

Si d'autre part vous cherchez à effectuer une logique personnalisée lorsque la session d'un utilisateur commence ou expire (en raison de l'inactivité), vous pouvez ajouter un fichier Global.asax à votre application et utilisez les méthodes Session_Start et Session_End pour que .

0

Une solution simple qui fonctionne indépendamment de Asp.net est de mettre des horodatages sur vos données de session et de supprimer périodiquement les entrées expirées.

2

C'est essentiellement le comportement par défaut des sessions dans ASP.NET.

Lorsqu'un utilisateur ferme le navigateur, le cookie non persistant conservant l'ID de session est supprimé. Cela n'expirerait pas réellement la session, mais puisque aucune référence à elle n'existera plus, elle expirera automatiquement dans les 20 minutes par défaut. Les utilisateurs qui revisitent votre site après avoir fermé la fenêtre du navigateur devraient utiliser une nouvelle session. (Source)

+0

amis de thank – mayur

+0

@mayur: Si vous avez trouvé l'une des réponses utiles, vous pouvez la marquer comme acceptée en cliquant sur la coche verte à côté de la réponse. Cela vous aidera à obtenir plus de réponses à l'avenir si vous posez d'autres questions sur Stack Overflow. –