SERVICESTACK.NET SESSION Evénement final ou rappel?
-
12-12-2019 - |
Question
J'utilise Servicestack.net avec authentification et j'utilise une session personnalisée, tous fonctionnant bien.
J'aimerais savoir s'il existe un événement ou un rappel, une substitution ou tout autre mécanisme à savoir lorsqu'une session est terminée (c'est-à-dire que le client goutte) ou lorsque la session expire?
quelque chose comme global.aSax "session_end"
merci.
La solution
Nope Il n'y a pas d'événement de session Session car il est impossible de déterminer lorsqu'une session est supprimée de l'un quelconque du support fournisseurs de cache qui pourrait être utilisé pour cacher la session.
Donc, vous ne devriez pas vraiment essayer de vous fier, vous pouvez déterminer s'il est expiré (ou n'existe vraiment plus) s'ils ont été attribués à une session existante mais qui n'existe plus, par exemple
var hadSessionWithId = httpReq.GetSessionId();
var existingSession = Cache.Get<TUserSession>(SessionExtensions.SessionKey);
if (hadSessionWithId ?? existingSession == null) //Existing session invalidated.