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 :

Déconnexion & LoadViewState


Sujet :

ASP.NET

  1. #1
    Candidat au Club
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Juillet 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2014
    Messages : 6
    Points : 3
    Points
    3
    Par défaut Déconnexion & LoadViewState
    Bonjour à tous,

    C'est mon premier post ici, je me présente donc rapidement: Un breton chef de projet pour la logistique Carrefour!
    Je viens de reprendre en main une application développée en ASP.NET et qui présente de nombreux bugs!

    Pardonnez-moi donc si ma question ressemble à une question de débutant, car elle l'est bel et bien!

    Maintenant, mon problème:

    J'ai donc une page en ASP qui contient un tableau.
    Lors d'un PostBack sur cette page, le tableau est sauvegardé et restauré avec SaveViewState et LoadViewState.
    Le LoadViewState effectue de nombreux traitement gourmands en uc et en accès à la bdd.
    Or, quand l'utilisateur se déconnecte de cette page, cela se fait techniquement par un __doPostBack en javascript.
    Les événements SaveViewState et LoadViewState sont alors appelés lors de cette déconnexion alors que ça n'a bien sûr aucun intérêt puisque l'utilisateur s'est déconnecté et que le tableau n'est bien sûr plus visible.
    Ma question est donc: Comment je peux gérer PROPREMENT le fait de ne pas effectuer ces fameux traitements, existe t-il un moyen pour ne pas déclencher les événements SaveViewState et LoadViewState en fonction des paramètres passés dans le __doPostBack?
    J'ai bien trouvé une solution: de passer un paramètres dans le __doPostBack et de le récupérer dans l'événement LoadViewState la valeur de la variable Page.Request["__EVENTTARGET"]; en fonction de la valeur de cette variable, l'événement LoadViewState n'effectue rien.
    Ca fonctionne mais ça ne me semble pas propre, mon instinct me dit que ce problème est courant et qu'il existe une solution plus naturelle!
    Merci donc à celui ou celle qui voudra bien m'éclairer!

  2. #2
    Membre averti Avatar de M_Makia
    Homme Profil pro
    dev
    Inscrit en
    Février 2008
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Saône (Franche Comté)

    Informations professionnelles :
    Activité : dev
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2008
    Messages : 121
    Points : 338
    Points
    338
    Par défaut
    Bonjour crubs et bienvenue sur le forum

    Citation Envoyé par crubs
    Ca fonctionne mais ça ne me semble pas propre, mon instinct me dit que ce problème est courant et qu'il existe une solution plus naturelle!
    Merci donc à celui ou celle qui voudra bien m'éclairer!
    Ton instinct à vue juste ^^
    Ce genre de mécanisme est courant en Asp.net.

    Dans ton cas ça à l'aire d'un défaut de conception.
    Malheureusement difficile de te donner un solution sans une petite analyse du code source de ta fameuse page.

    Le mieux ça serait de revoir le mécanisme qui déclenche l'enregistrement en BDD avec un développeur confirmé en Asp.Net.
    Si vous n'avez pas cette ressource tu peux toujours garder la petite astuce que tu as annoncé.

  3. #3
    Candidat au Club
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Juillet 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2014
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par M_Makia Voir le message
    Bonjour crubs et bienvenue sur le forum



    Ton instinct à vue juste ^^
    Ce genre de mécanisme est courant en Asp.net.

    Dans ton cas ça à l'aire d'un défaut de conception.
    Malheureusement difficile de te donner un solution sans une petite analyse du code source de ta fameuse page.

    Le mieux ça serait de revoir le mécanisme qui déclenche l'enregistrement en BDD avec un développeur confirmé en Asp.Net.
    Si vous n'avez pas cette ressource tu peux toujours garder la petite astuce que tu as annoncé.
    Bonjour Mickaël,

    Merci pour ta réponse.
    J'ai arrêté de chercher car pas le temps de brûler trop de gaz là dessus dans la mesure où ce que j'ai fait fonctionne correctement, même si c'est pas l'idéal.
    Tu me rassures déjà sur le fait que ce que j'ai fait n'est pas une aberration!
    Peut-être que je tomberai sur une autre solution meilleure un jour par hasard.

    Merci encore.

  4. #4
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Points : 9 743
    Points
    9 743
    Billets dans le blog
    3
    Par défaut
    Citation Envoyé par crubs Voir le message
    Tu me rassures déjà sur le fait que ce que j'ai fait n'est pas une aberration!
    Je pense que tu as mal compris son message ! C'est une grosse aberration, qui révèle une ignorance du cycle de vie des pages ASP.NET.

    Ces évènements ne sont pas faits pour gérer ces opérations, il faut le faire plus tôt, au moment de l'évènement Page_Load. Quand tu es au niveau des évènements du ViewState, tu es déjà dans la phase de rendu...

    Mais comme indiqué par M_Makia, on ne peut pas te guider plus sans voir ton code.
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

Discussions similaires

  1. Problème de timeout et de déconnexion cliente
    Par Aurelien92 dans le forum CORBA
    Réponses: 18
    Dernier message: 24/08/2004, 14h32
  2. Déconnexion réseau
    Par esa dans le forum Web & réseau
    Réponses: 3
    Dernier message: 22/06/2004, 07h55
  3. [Débutant] Problème de déconnexion d'une page JSP
    Par amal9 dans le forum Servlets/JSP
    Réponses: 12
    Dernier message: 22/01/2004, 13h40
  4. Déconnexion d'une session Win2k
    Par lamasse dans le forum C++Builder
    Réponses: 3
    Dernier message: 02/10/2003, 08h39

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