Bonjour,
Comme il n'est pas de question stupide, voici la mienne :
Les variables de session sont-elles encore accessibles dans le Session_End() de mon global.asax ?
Version imprimable
Bonjour,
Comme il n'est pas de question stupide, voici la mienne :
Les variables de session sont-elles encore accessibles dans le Session_End() de mon global.asax ?
Oui elles seront toujours accessibles. Pour référence, j'ai trouvé ce post : http://stackoverflow.com/questions/1...sion-end-event
:arrow: MSDN - SessionStateModule.End Event
Dans mon exemple j'ai codé ceci :
Mais en fin de session je n'ai pas l'information dans ma variable d'applicationCode:
1
2
3
4
5
6
7
8 Protected Sub Session_Start(ByVal Sender As Object, ByVal E As EventArgs) If Application("test_Session") Is Nothing Then Application("test_Session") = "" Application("test_Session") = Application("test_Session") & "Start " & Session.SessionID.ToString & " / " End Sub Protected Sub Session_End(ByVal Sender As Object, ByVal E As EventArgs) Application("test_Session") = Application("test_Session") & "End " & Session.SessionID.ToString & " / " End Sub
Si tu rajoutes HttpContext.Current devant "Session" c'est pas mieux ?
Code:
1
2
3
4
5
6
7
8 Protected Sub Session_Start(ByVal Sender As Object, ByVal E As EventArgs) If Application("test_Session") Is Nothing Then Application("test_Session") = "" Application("test_Session") = Application("test_Session") & "Start " & HttpContext.Current.Session.SessionID.ToString & " / " End Sub Protected Sub Session_End(ByVal Sender As Object, ByVal E As EventArgs) Application("test_Session") = Application("test_Session") & "End " & HttpContext.Current.Session.SessionID.ToString & " / " End Sub
Test avec le HttpContext.Current :
La fermeture du navigateur (IE8) génère-t-elle l'abandon de la session ?
a) j'ouvre mon navigateur (IE8)
ma variable -> Start 1e1srz2alkbanyznklwqfjil /
b) Je ferme, puis rouvre un nouveau navigateur (et non pas un nouvel onglet)
ma variable -> Start 1e1srz2alkbanyznklwqfjil / Start ab55u345zh1oobely2mejp45 /
Salut,
Et au bout de 21 minutes? Les sessions durent 20 minutes par défaut. Le fait de fermer ton navigateur ne met pas fin à la session immédiatement.
A+
Même au bout de 30 min., seuls les starts apparaissent et pas les ends
Trouvé ! Le problème vient de la propriété <sessionState mode=... qui doit être "InProc" pour que le Session_End soit déclenché, or dans notre structure il est à "SQLServer"
Effectivement, ce paramètre influe sur le comportement de l'application...
N'oublie pas de cliquer sur le bouton :resolu: afin de réellement marquer cette discussion comme résolue ;)