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 :

[C#][1.1] Quelle est la meilleure méthode pour gérer des variables utilisateur ?


Sujet :

ASP.NET

  1. #1
    Membre confirmé
    Avatar de frechy
    Inscrit en
    Novembre 2004
    Messages
    343
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Novembre 2004
    Messages : 343
    Points : 511
    Points
    511
    Par défaut [C#][1.1] Quelle est la meilleure méthode pour gérer des variables utilisateur ?
    Bonjour à tous,

    Je démarre en asp.net (1.1). Je travaille sur un "gros" projet (tout est relatif)...

    Dans ce projet des variables de sessions sont utilisées pour retenir pas mal de données. Par exemple sur le site il est possible de calculer un itinéraire d'un point A au point B. Cet itinéraire est retenu en variable de session.

    Jusqu'à 3 itinéraires sont retenus en variable de session (par utilisateur)...

    J'ai lu différentes choses…
    que les variables de sessions étaient optimisées pour des petits contenus
    que les variables cache étaient plus d'un niveau applicatif et qu'elle étaient utiles lorsque celles-ci ne changeaient pas trop souvent.

    Ma question est la suivante, quelle est la méthode la moins gourmande et la plus rapide pour gérer de grosses variables au niveau utilisateur ?

    Dois-je garder les variables de session ?
    Les cookies sont proscrits, car si l'utilisateur ne les accepte pas, on n’est pas avancé...

    Peut-être vous demandez-vous pourquoi j'ai besoin de retenir tant d'information? Car pour le calcul d'itinéraire je fais appel à une API, cette API met un certain temps avant de retourner le résultat.

    Si l'utilisateur fait suivant, précédent (pas au niveau du browser), on ne veut pas refaire un appel à l'API, pour éviter de faire patienter l'utilisateur.

    Toute idée est la bienvenue

    Merci

  2. #2
    Membre éclairé
    Avatar de efficks
    Inscrit en
    Septembre 2005
    Messages
    712
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 712
    Points : 776
    Points
    776
    Par défaut
    Pourquoi veux-tu la retirer des variables de sessions? Ça fonctionne lentement?
    Moi je recommande la base de données.
    La cache étant faite pour enregistrée des données utilisées plusieurs fois par plusieurs utilisateurs pas par un seul.
    Avant de poster : FAQ, tutos, rechercher, google, ... Après :
    Merci

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 130
    Points : 91
    Points
    91
    Par défaut
    Personnellement, j'aurai tendance à mettre ce genre d'objet/variable etc dans le ViewState.

    Maintenant tout dépend de la taille effective que cela prendra, mais tu pourras facilement l'évaluer en regardant la taille des pages générées.

    De cette manière, le poids de tes variables/Objets etc sera à la charge des personnes qui se connecteront. dans la limite du raisonnable ^_^

    [EDIT]
    En même temps je dis des bêtises désolé ( bien qu'avec une masterpage ça puisse être possible mais pas en 1.1 )

    Sinon, est ce qui ne serait pas possible de plutôt ne retenir que le point A et B, des différents trajets et de les recalculer dynamiquement aux besoins ?

  4. #4
    Membre éclairé
    Avatar de efficks
    Inscrit en
    Septembre 2005
    Messages
    712
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 712
    Points : 776
    Points
    776
    Par défaut
    Enregistrer de grosses données dans le viewState est risqué car le temps pour charger et envoyer la page augmentera de beaucoup pour les connexion lentes au réseau.
    Avant de poster : FAQ, tutos, rechercher, google, ... Après :
    Merci

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 130
    Points : 91
    Points
    91
    Par défaut
    Oui, mais en fait j'avais lu un peu vite et j'étais convaincu qu'il s'agissait d'un traitement propre à une page donnée et non pas au fait de conserver les données tout le long de la session, ce qui serait techniquement difficile à réaliser avec le VState :p

    Si les données sont conséquentes, je pense que le plus simple c'est de ne pas les conserver mais de les générer dynamique lorsque c'est util.
    Tout dépend maintenant si c'est possible, et des ressources que cela nécessite.

    Et à défaut charger les etats en base, notamment si le traitement néccessite bcp de ressouces ou de temps de calcul, ou encore si les états sont très très gros.

  6. #6
    Membre confirmé
    Avatar de frechy
    Inscrit en
    Novembre 2004
    Messages
    343
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Novembre 2004
    Messages : 343
    Points : 511
    Points
    511
    Par défaut
    OK merci pour vos commentaires.

    Je vais donc continuer à utiliser les variables de session et si ca devient ingerable, j'essayerai de decharger une partie dans une DB.

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

Discussions similaires

  1. Réponses: 61
    Dernier message: 29/12/2016, 12h58
  2. [2.0] Quelle est la meilleure base de données pour ASP.NET ?
    Par dymezac dans le forum Accès aux données
    Réponses: 3
    Dernier message: 25/09/2006, 15h29
  3. Copie disque à disque. Quelle est la meilleur manière ?
    Par olive_le_malin dans le forum Autres Logiciels
    Réponses: 20
    Dernier message: 19/02/2006, 00h32
  4. Quelles est la meilleur solution?
    Par le lotus dans le forum Flash
    Réponses: 2
    Dernier message: 31/01/2006, 14h53

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