Question variables de session asp.net sur Session_End


Je dois accéder aux variables de session sur l'événement Session_End dans global.asax.cs, mais HttpContext.Current est nul, donc aucune des variables de session n'est accessible.

a) Puis-je accéder différemment à la session utilisateur ou

b) Y a-t-il un autre événement avant Session_End, je pourrais accéder aux variables de session de l'utilisateur?


26
2018-01-08 19:24


origine


Réponses:


HttpContext.Current n'est pas disponible à l'intérieur de Session_End, mais vous pouvez accéder directement à l'instance de session avec this.Session.


43
2018-01-08 19:37



Qu'essayez-vous de faire?

Il n'y a pas d'événement précédant Session_End que vous pouvez utiliser pour accéder à l'objet Session.

Si vous avez stocké un horodatage d'action relatif à la dernière utilisation de l'objet Session et que vous l'avez vérifié, vous pouvez avoir une idée du moment où il doit se terminer.
(Basé sur vos paramètres / configuration IIS). Cependant, le fait d'y accéder prolongerait la vie de l'objet Session.

Bien sûr, vous devriez vérifier cela, soit en utilisant un postback Ajax caché qui déclenche un événement ou quelque chose de similaire.

Mais vraiment je ne le conseillerais pas. Qu'est-ce que vous essayez de faire, vous en avez besoin?


0
2018-01-08 19:36



À moins que vous n'utilisiez Session_End dans le but spécifique de prendre des mesures lorsqu'une session arrive à expiration, utiliser Session_End n'est pas une bonne idée.

Je ne crois pas qu'il existe un moyen fiable de capturer la fin d'une session utilisateur (par exemple, lorsque vous fermez le navigateur).


-1
2018-01-08 19:30