IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

Pourquoi mon serveur 2000 génère un nouveau SessionID à chaque chargement de page ?


Sujet :

ASP.NET

  1. #1
    Membre confirmé
    Inscrit en
    Décembre 2003
    Messages
    35
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Décembre 2003
    Messages : 35
    Par défaut Pourquoi mon serveur 2000 génère un nouveau SessionID à chaque chargement de page ?
    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 un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Response.Write(Session.SessionID & "<br />")
    pour voir ce que me répond mon serveur.
    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
    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" 
        />
    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
    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
    Ne prêtez pas attention au code concernant la BDD, il marche bien sur les deux environnements...

    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.

  2. #2
    Membre confirmé
    Inscrit en
    Décembre 2003
    Messages
    35
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Décembre 2003
    Messages : 35
    Par défaut
    Après XX jours à chercher d'où venait le pb, j'ai trouvé !

    Mon alias DNS contenait un "_" (xxxx_dev.intra.maboite.fr). Sans ça marche comme avec localhost !!!

    C'est mon premier déploiement ASP.NET, avant je faisais que de l'ASP en prod.
    C'est pour cela que j'ai gardé le serveur IIS5 + framework .NET

    J'ai regardé dans IIS6, il refuse les noms d'hôtes avec des caractères différents de "a-Z", "0-9", "-".

    Si IIS6 l'interdit désormais, c'est bien que Microsoft a détecté des pb sur les versions précédentes ?
    A quand un système de suivi de bogues ou une assurance qualité "transparente" chez M$ ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 19/10/2011, 16h37
  2. [Free Pascal] Mon serveur socket prend un client pour un nouveau client à chaque requête
    Par elliotg dans le forum Free Pascal
    Réponses: 3
    Dernier message: 13/03/2011, 17h30
  3. Réponses: 5
    Dernier message: 28/07/2009, 23h45
  4. Mon serveur SQL génère une erreur
    Par puegnon dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 29/01/2008, 17h08
  5. Réponses: 6
    Dernier message: 06/09/2007, 17h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo