1. Bonjour tout le monde ! Veillez consulter la Politique de forum pour comprendre nos règles, Merci a vous !
    Rejeter la notice

Web service Json

Discussion dans 'Windev Mobile' créé par sergeb, Oct 18, 2021.

  1. sergeb

    sergeb Active Member

    Inscrit:
    Mar 11, 2019
    Messages:
    122
    J'aime reçus:
    26
    Bonjour à tous.

    Sous une application windev mobile, dans une fenêtre j'ai un bouton qui appel l'une après l'autre deux procédures locale pour récupérer des données depuis un serveur WEB par un web service Json comme ici

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!



    Pour le premier, j'ai un retour de 200 lignes et c'est rapide puisque je mets moins d'1 seconde pour récupérer les données.
    En revanche pour la second (même code WindevMobile et une simple requête (select * from table) côté PHP me retourne 14 lignes (la table complète) mais cela met plus de 8 secondes. Je ne comprend pas pourquoi ???

    J'ai contrôlé le code coté windev mobile et les deux sont identiques. J'ai contrôlé côté base de données et j'ai bien des index sur les ID et je ne vois rien de spécial qui expliquerai cette lenteur.

    Auriez-vous une idée sur le sujet car je sèche complètement et je ne trouve pas la solution.

    Voilà le code du bouton :
    _Charge_RDV()
    _Charge_Inter()

    Code procédure _Charge_RDV
    nZIndiceLigne est un entier=0
    maReq.URL = gsZadresse_serveur+"/Lst1.php?IDUser="+gnZIDUser
    maRep = RESTEnvoie(maReq)
    SI ErreurDétectée OU maRep.CodeEtat <>"200" ALORS
    SINON
    vRestVariant=JSONVersVariant(maRep.Contenu)
    POUR TOUT ss DE vRestVariant
    nZIndiceLigne++
    JAUGE_Chargement..BorneMin=1
    JAUGE_Chargement..BorneMax=ss.Compteur
    JAUGE_Chargement=nZIndiceLigne
    nZCompteur est un entier = ss.Compteur
    FIN
    FIN

    Code procédure _Charge_Inter
    nZIndiceLigne est un entier=0
    maReq.URL = gsZadresse_serveur+"/Lst2.php?IDUser="+gnZIDUser
    maRep = RESTEnvoie(maReq)
    SI ErreurDétectée OU maRep.CodeEtat <>"200" ALORS
    SINON
    vRestVariant=JSONVersVariant(maRep.Contenu)
    POUR TOUT ss DE vRestVariant
    nZIndiceLigne++
    JAUGE_Chargement..BorneMin=1
    JAUGE_Chargement..BorneMax=ss.Compteur
    JAUGE_Chargement=nZIndiceLigne
    nZCompteur est un entier = ss.Compteur
    FIN
    FIN

    J'ai contrôlé le temps d'exécution des requêtes côté serveur et tout va bien.
    0.0005 seconde(s) pour la 1ère
    0.0003 seconde(s) pour la 2ème

    Je pense qu'il y a un pb côté windev mobile mais je ne trouve pas

    Merci de votre aide.
     
    Tags:
  2. sergeb

    sergeb Active Member

    Inscrit:
    Mar 11, 2019
    Messages:
    122
    J'aime reçus:
    26
    Pour info complémentaire, j'ai mis en remarque la ligne JAUGE_Chargement=nZIndiceLigne (qui bouge le curseur de la jauge) et la pas de soucis c'est super rapide.

    Je ne vois pas comment faire du coup pour faire avancer la jauge sans ce pb ????
     
  3. popoy

    popoy Well-Known Member
    MEMBRE WX

    Inscrit:
    Fev 23, 2018
    Messages:
    2,948
    J'aime reçus:
    1,569
    D'après moi, c'est le rafraîchissement de l'ihm qui est long.
    J'aurais rajouter des multitâche.
     
  4. Man

    Man Active Member

    Inscrit:
    Juil 9, 2018
    Messages:
    290
    J'aime reçus:
    67

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    D'après moi, c'est le rafraîchissement de l'ihm qui est long.
    J'aurais rajouter des multitâche.
    Cliquez pour agrandir...
    Ou RepeintFen()
     

Partager cette page

Chargement...