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 :

Sauvegarde de données dans des Sessions sous IE


Sujet :

ASP.NET

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 22
    Points : 11
    Points
    11
    Par défaut Sauvegarde de données dans des Sessions sous IE
    Bonjour,

    Je code un site en MVC3 sur Windows Azure.
    J’utilise les sessions dans mon code C# pour garder en mémoire le fait que le visiteur soit identifié ou pas. Exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Session["logged"] = "oui";
    ...
    if(Session["logged"] != null && Session["logged"] = "oui"){
    ...
    }
    Mon site marche sous Google Chrome, Mozilla Firefox, mais sous Internet Explorer le résultat est aléatoire.

    (parfois, on boucle sur la page de login, comme si la session n'était pas gardée)

    Comment remédier à ce problème ?

    Merci d'avance

  2. #2
    Membre confirmé Avatar de elbj
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2004
    Messages
    371
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Services à domicile

    Informations forums :
    Inscription : Novembre 2004
    Messages : 371
    Points : 558
    Points
    558
    Par défaut
    Bonjour

    = est un opérateur d'affectation
    == est un opérateur de comparaison

    Il faudrait écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(Session["logged"] != null && Session["logged"].ToString() == "oui")
    D'une manière générale, et c'est une bonne pratique même si elle n'est pas visuellement élégante, il faut positionner la constante avant la variable lors d'un test d'égalité :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(Session["logged"] != null && "oui" == Session["logged"].ToString())
    Cela permet d'éviter ce genre d'erreur car si par malheur on écrit ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(Session["logged"] != null && "oui" = Session["logged"].ToString())
    Le compilateur lève une erreur, vu qu'on ne peut affecter une valeur à une constante.

    +++
    Christophe B.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 22
    Points : 11
    Points
    11
    Par défaut
    Bonjour,
    Effectivement je m'étais trompé en recopiant le code,
    dans mon application j'ai bien "==", donc le problème est ailleurs...

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 22
    Points : 11
    Points
    11
    Par défaut
    Apparemment c'est un problème sur Azure que je ne suis pas le seul à avoir, j'ai essayé d'utiliser SQL azure
    pour le stockage des sessions mais ça ne résout pas le problème,
    en fait sous certaines versions de Internet Explorer, le sessionID change a chaque chargement de page !

  5. #5
    Membre éclairé
    Inscrit en
    Septembre 2007
    Messages
    1 137
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 137
    Points : 707
    Points
    707
    Par défaut
    Effectivement si le SessionID change à chaque page, il va y avoir un probleme

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 22
    Points : 11
    Points
    11
    Par défaut
    Oui c'est un gros problème

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 22
    Points : 11
    Points
    11
    Par défaut
    En fait une application facebook utilise les i-frame,
    et sous IE, les cookies des i-frames sont bloqués,
    il faut ajouter un en tête http pour que ça fonctionne.

    voici le topic qui m'a permit de résoudre mon problème:
    http://forum.developers.facebook.net...pic.php?id=452

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

Discussions similaires

  1. [CR XI] Gestion des données dans des sous rapports
    Par duduma dans le forum SAP Crystal Reports
    Réponses: 6
    Dernier message: 19/11/2014, 16h27
  2. [XL-2013] Décalage des données dans un graphique sous word
    Par chapodhor dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 05/08/2014, 10h59
  3. Javascript et sauvegarde des données dans la session
    Par Lolitaaa dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 12/05/2010, 13h13
  4. Sauvegarder les données dans une session
    Par madjidri dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 08/04/2009, 17h45
  5. Integrer des données dans ma BDD sous VB
    Par Delack dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 15/12/2008, 21h23

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