cs_dawinch
Messages postés27Date d'inscriptionlundi 2 mai 2005StatutMembreDernière intervention 3 janvier 2008
-
12 juil. 2007 à 16:42
cs_dawinch
Messages postés27Date d'inscriptionlundi 2 mai 2005StatutMembreDernière intervention 3 janvier 2008
-
25 juil. 2007 à 15:19
Bonjour,
je suis en train de développer une appli de gestion en intranet.
Faisant confiance aux ToolKit et Ajax.net, j'ai décidé de faire l'appli dans une seule page (je me suis un peu emballé ).
J'utilise donc le contrôle TabContainer du Toolkit : j'ai une quinzaine d'onglets; chaque TabPanel contient un UpdatePanel qui contient les données à afficher (des gridviews, formviews, dataRepeaters en pagaille ...) .
Tout marche bien sauf que :
plus on utilise l'appli (sélection, ajout de données, tri des gridviews, recherche...) dans le temps, plus elle "rame";
jusqu'à plus de 5 secondes pour afficher de simples données dans un formview.
J'ai bien tenté (un peu au hasard) des "EnableViewState=false" dans certains UpdatePanels mais ça semble toujours aussi long.
Alors, avant que je revienne au web 1.5 (un onglet = une page), est je loupé quelquechose ?
Je n'ai pas réussi à cerner d'où pourrait venir cette lenteur. Le ViewState qui ne se "réinitialise" pas ?
Au fur à mesure de l'utilisation, ASP.NET rajoute dans le <head> de la page des scripts liés aux composants de l'UpdatePanel utilisé. Et il semble que ce ces scripts "s'empilent" au fur et à mesure, même lorqu'ils ne sont plus utiles.
J'ai l'impression qu'avec les postback et viewstate, l'utilisation d'Ajax est moins facile à gérer avec ASP.NET.
Quelqu'un aurait il une piste ? (sinon je vais tout refaire en PHP / Jquery )
cs_ghuysmans99
Messages postés3982Date d'inscriptionjeudi 14 juillet 2005StatutMembreDernière intervention30 juin 201316 12 juil. 2007 à 17:58
c'est l'inconvénient de .NET : c'est lent & lourd ... plus ton appli est grande, plus ca rame !
_______________________________________________________________________
VB.NETis good ...VB6is better
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 201029 12 juil. 2007 à 18:31
ghuysmans99 >> joli troll ....
Bref je répondrais plutot que l'avantage de .net c'est qu'on a pas besoin de connaitre le fonctionnement exact de tous les composants pour produire quelque chose et que tout est caché, alors qu'en php on fait tout à la main :p
Ce qui a pour inconvénient de produire des choses lourds car les "developpeurs" ne savent pas exactement ce qu'ils font derriere.
Bref, au lieu de désactiver des viewstate par hasard regarde plutot ce qui prend du temps ? est-ce coté client ou coté serveur (tu peux le voir via fiddler) si c'est coté serveur est-ce ASP.net ou SQL (tu peux le voir avec sql profiler).
A partir de là tu sauras où il faut optimiser et quoi ! car là en désactivant des viewstate par hasard tu lances des coups d'épées dans l'eau :p
PS : oui les toolkits sont supra lourd et bien merdique mais super simple à utiliser
cs_dawinch
Messages postés27Date d'inscriptionlundi 2 mai 2005StatutMembreDernière intervention 3 janvier 2008 12 juil. 2007 à 20:01
pour asp.net je suis d'accord pour la facilité d'utilisation des composants, par contre je trouve que dès qu'on veut les utiliser d'une manière un peu spécifique qui sort de leurs utilisation "normale", ça se complique vite.
Pour ce qui est de mon code, c'est côté client que vient le problème puisque lorsque je démarre l'appli ça marche bien.
En gros, je vais sur la page du site : elle est longue à charger, normal, elle est très lourde.
Puis je fais mes tests : affichage, insertion, tris, modification de données : tout s'affiche très vite , normal, toutes les données différentes sont dans un updatepanel différent.
Puis, plus j'insère, modifie, affiche ...., plus l'affichage devient lent au point de devenir "inutilisable".
J'ai remarqué que, en gros l'utilisation mémoire de IE "suivait" linéairement la lenteur du site.
Firefox s'en tire mieux, mais devient quand même très lent.
Personnellement, je soupçonne asp.net d'accumuler des javascripts et viewstates inutiles. Il faut que j'analyse mieux avec WebDev Helper ou FireBug.
Je ne sais pas si ça vient du TabContainer ou des UpdatePanels .
Quelqu'un a-t-il déjà fait un site avec un beaucoup d'UpdatePanels (j'en ai 22) ?
Que ça charge la page avec beaucoup de javascripts au premier chargement : OK; par contre ensuite ça ne devrait pas beaucoup changer.
Dans ces UpdatePanels j'utilise beaucoup de composants Asp et AjaxToolkit et j'ai l'impression que le javascript associé à ces composants est écrit à chaque rafraichissement d'un UpdatePanel dans le Head de la page. Donc normal ça s'accumule. L'updatepanel devrait écrire ce code à "l'intérieur' de son ContentTemplate...
Enfin ce n'est qu'une supputation....
Je vais essayer d'approfondir le truc...
Vous n’avez pas trouvé la réponse que vous recherchez ?
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 201029 12 juil. 2007 à 20:16
Regarde déjà avec Fiddler si le problème vient bien du client ou si le cela vient du serveur, fiddler (voir meme firebug) te permettra d'analyser le temps de réponse de ton serveur. Tu peux aussi activer les traces d'asp.net tu verras de facons encore plus précises les temps de réponses.
cs_dawinch
Messages postés27Date d'inscriptionlundi 2 mai 2005StatutMembreDernière intervention 3 janvier 2008 25 juil. 2007 à 15:19
Cyril : désolé d'avoir zappé le sujet mais vu que j'étais "très à la bourre", j'ai tout repassé en plusieurs pages (1 onglet = une page).
De toute façon les utilisateurs ne remarquent pas vraiment la différence.
J'ai bien sûr gardé la page avec les TabPanels et je ferai des tests quand j'aurai le temps.
Merci quand même.