J'ai une appli qui se sert des sessions.
Tout va bien en local sur mon poste XP Pro mais sur mon 2000 Advanced Server je perds les données stockées dans la Session.
Je fais unpour voir ce que me répond mon serveur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part Response.Write(Session.SessionID & "<br />")
A chaque actualisation, PostBack ou lien vers une autre page le SessionID change.
La seule différence de config est que sur le serveur c'est un Site Web et sur mon poste, c'est un Répertoire Virtuel.
J'ai vérifier les options de IIS sur les deux machines, tout est pareil.
mon web.config
mon Global.asax.vb (il n'y a rien dans les autres Sub)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <sessionState mode="InProc" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes" cookieless="false" timeout="20" />
Ne prêtez pas attention au code concernant la BDD, il marche bien sur les deux environnements...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37 Sub Session_Start(ByVal sender As Object, ByVal e As EventArgs) ' Fires when the session is started Dim logon As String = Request.ServerVariables("AUTH_USER") Session("Login") = Convert.ToString(Mid(logon, InStr(1, logon, "\") + 1)).ToUpper Dim myconnection As ConnectionSQL = New ConnectionSQL(ConfigurationSettings.AppSettings("key_Conn")) 'définit les valeurs du param d'entrée de ps_user param_nom_ps.Add("@UtilCode") 'nom du param d'entrée param_type_ps.Add(SqlDbType.VarChar) 'type du param d'entrée param_taille_ps.Add(20) 'taille du param d'entrée param_src_ps.Add("UtilCode") 'nom colonne source du param d'entrée param_io_value_ps.Add(Mid(logon, InStr(1, logon, "\") + 1)) 'valeur du param d'entrée Dim drUser As SqlDataReader = myconnection.ExecutePS("ps_user", param_nom_ps, param_type_ps, param_taille_ps, param_src_ps, param_io_value_ps) vide_param_ps() If Not drUser Is Nothing Then While drUser.Read Session("UtilPrenom") = drUser.Item("UtilPrenom") Session("UtilNom") = drUser.Item("UtilNom") Session("EntiteNom") = drUser.Item("EntiteNom") Session("id_dept") = drUser.Item("Reg") End While drUser.Close() End If Dim drAdmin As SqlDataReader = myconnection.ExecutePS("ps_list_admin") While drAdmin.Read If drAdmin.Item(0) = Session("Login") Then Session("Admin") = 1 End If End While myconnection.CloseConnection() End Sub
Ca fait plusieurs jours que je fouille MSDN et Google sans succès.
En espérant que le problème, ou plutôt la solution parraisse évidente pour quelqu'un.
Partager