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 :

Variable de session


Sujet :

ASP.NET

  1. #1
    Membre confirmé Avatar de Morad ISSOULGHANE
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Juin 2009
    Messages : 98
    Par défaut Variable de session
    Bonjour,
    J'ai une page ASP.NET dans laquelle j'ai un formulaire de saisie des mes Ressources (par exemple).
    J'ai ajouter une variable de Session (Session["RessourceEnCoursDeTraitement"]) dans laquelle j'enregistre ma ressource que je suis en train de traiter.

    Je me suis poser la question suivante après:
    Si un utilisateur ouvre un premier onglet sur son navigateur pour modifier une ressource r1 (alors on va mettre dans notre Session["RessourceEnCoursDeTraitement"] r1), et si par la suite on ouvre un deuxième onglet pour modifier une ressource r2 (alors on va mettre dans notre Session["RessourceEnCoursDeTraitement"] r2).
    Si par la suite on revient sur l'onglet de r1 et on enregiste alors on aurait enregistrer r2

    Est ce qu'il y a une solution pour remédier à ca ?
    Merci.

  2. #2
    CUCARACHA
    Invité(e)
    Par défaut
    Salut,

    Ca c'est tout ce qui fait le sport dans le web, ca ne peut pas être résolu comme tu souhaites le faire.

    Tu dois gérer les collisions la solution la moins compliquée serait de correctement gérer les verrous aux enregistrements et aux pages. Ce petit truc peut nécessiter plusieurs jours de réflexion en fonction de tes contraintes fonctionnelles.

    ++

    Laurent

  3. #3
    Membre confirmé Avatar de Morad ISSOULGHANE
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Juin 2009
    Messages : 98
    Par défaut
    Tu dois gérer les collisions la solution la moins compliquée serait de correctement gérer les verrous aux enregistrements et aux pages.
    ça veut dire quoi exactement ???

  4. #4
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Par défaut
    Pour quelle(s) raison(s) tu mets ça en session?

  5. #5
    Membre confirmé Avatar de Morad ISSOULGHANE
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Juin 2009
    Messages : 98
    Par défaut
    Je met ça en session parcequ'il a un user controle qui traite la ressource en cours, donc dans ce controle je travaille sur la ressource qui est dans la session.

  6. #6
    CUCARACHA
    Invité(e)
    Par défaut
    Citation Envoyé par Morad ISSOULGHANE Voir le message
    ça veut dire quoi exactement ???
    Sans vouloir te vexer, si tu poses cette question c'est que tu n'as pas le niveau pour gérer ces problèmes.

    Un verrou consiste à positionner un indicateur sur un enregistrement, une table ou même un écran afin d'empêcher un autre utilisateur d'agir sur l'élément verrouillé.

    Dans le domaine du web, c'est très compliqué car on est en mode déconnecté, c'est à dire qu'une fois que la page est partie dans le navigateur, elle n'est plus sous le contrôle du serveur. Il faut donc "magouiller" pour faire comme si c'était le cas.

    Effectivement, évites les sessions,utilises plutôt le Viewstate et le cross post back (raa les mots barbare que j'emploie, je me demande si je me comprends moi même).

    Avec le cross post back tu as accès au viewstate de ta PreviousPage, c'est à dire de celle qui a ouvert ta fenêtre. Si elle est ouverte dans un nouvel onglet, ça va désynchroniser la previouspage de la page de laquelle elle est issue et ça va planter.

    En fait, la bonne pratique c'est de tout faire dans une seule fenêtre et d'eviter de trop utiliser les variables de session.

    Bon courage,

    Laurent

  7. #7
    Membre confirmé Avatar de Morad ISSOULGHANE
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Juin 2009
    Messages : 98
    Par défaut
    Ok je vois.
    avant de me lancer dans ça, est ce que vous avez une idée si les applications Web commercial gèrent ce genre de conflit !!!

  8. #8
    Membre confirmé Avatar de Morad ISSOULGHANE
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Juin 2009
    Messages : 98
    Par défaut
    Avec le cross post back tu as accès au viewstate
    Moi j'utilise les session parce que j'accede à ces variables dans des users controls. Si il y a une autre moyen, je prend

  9. #9
    Membre Expert Avatar de Arthis
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 265
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Italie

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 265
    Par défaut
    Il n'y a aucun rapport direct entre session et accès à ces variables dans des users controls.

    Il faut que tu te penches sur les différentes façons de transiter de l'information dans une page web et entre page web:

    • Session
    • ViewState
    • Querystring
    • Cache
    • Delegate et proprietés
    • etc....


    Bon courage à toi en tout cas,

  10. #10
    CUCARACHA
    Invité(e)
    Par défaut Stocker les valeurs des propriétés dans le viewstate
    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
     
            public override SerializableDictionary<int, string> MonDicoSerializable
            {
                get
                {
                    if (ViewState["MonDicoSerializable"] != null)
                    {
                        return (SerializableDictionary<int, string>)ViewState["MonDicoSerializable"];
                    }
                    else
                    {
                        return new SerializableDictionary<int, string>();
                    }
                }
                set
                {
                    ViewState.Add("MonDicoSerializable", value);
                }
            }
    Attention 1, pour que ça puisse fonctionner il faut impérativement que la propriété soit d'un type serialisable.

    Attention 2, ne pas trop charger le Viewstate pour une application Internet Web à fort traffic, ça boufferait la bande passante et pourrait bloquer l'accès au site.

    ++

    Laurent Jordi
    Dernière modification par Jannus ; 04/12/2009 à 13h56. Motif: pub

  11. #11
    Membre confirmé Avatar de Morad ISSOULGHANE
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Juin 2009
    Messages : 98
    Par défaut
    Merci

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

Discussions similaires

  1. [C#] Tester existence d'une variable de session
    Par IDNoires dans le forum ASP.NET
    Réponses: 2
    Dernier message: 31/12/2004, 12h30
  2. Création d'une variable de session avec un ID
    Par PrinceMaster77 dans le forum ASP
    Réponses: 4
    Dernier message: 18/10/2004, 10h28
  3. Effacer les variables de session
    Par glsn dans le forum ASP
    Réponses: 2
    Dernier message: 12/12/2003, 13h42
  4. Variable de session
    Par Sadneth dans le forum ASP
    Réponses: 6
    Dernier message: 14/11/2003, 11h12
  5. variable de session
    Par divableue dans le forum ASP
    Réponses: 2
    Dernier message: 23/10/2003, 16h04

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