Après tu peux toujours mettre en place la compression de l'html en sortie, voire la compression du viewstate. Seulement ça augmente la charge CPU de ton serveur.
Après tu peux toujours mettre en place la compression de l'html en sortie, voire la compression du viewstate. Seulement ça augmente la charge CPU de ton serveur.
La compression HTML au niveau de IIS je suppose ?
Par contre peux tu m'en dire plus sur la compression du Viewstate ?
MCTS Microsoft.
La conception : Prendre le temps pour gagner du temps.
Bonjour,
Tu peux en effet mettre en place la compression au niveau de IIS (au passage si tu utilises la version 7 je te recommande la lecture de cette article).
Tu peux également appliquer un Filter au niveau de la réponse HTTP. Donc à mettre en place au niveau du Global.asax ou au niveau d'un HttpModule que tu créés. Ceci est un exemple pour illustrer simplement :
Plus généralement au niveau de l'amélioration des performances pour une application ASP.NET j'ai commencé une série de billets pour expliquer (une façon parmi d'autres de) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 HttpContext context = HttpContext.Current; context.Response.Filter = new GZipStream(context.Response.Filter, CompressionMode.Compress); HttpContext.Current.Response.AppendHeader("Content-encoding", "gzip"); HttpContext.Current.Response.Cache.VaryByHeaders["Accept-encoding"] = true;
- Compresser et mettre en cache des images
- Minifier, compresser et mettre en cache des fichiers CSS et Javascript
- Combiner des fichiers CSS et Javascript
Après ça ne reste que des exemples qui ne seront pas forcément applicables dans tous les contextes. Regarde en priorité les fonctions de compression qu'offrent IIS
Une fois la série plus avancée j'en ferais un article que je publierais sur Developpez.
Concernant l'optimisation générale d'une application Web (ce qui dépasse le cadre de ta GridView) tu peux aussi consulter les recommandations Yahoo et celles de Google. Idéalement pour vérifier et évaluer les points à améliorer sur tes pages je te recommande d'utiliser YSlow de Yahoo et Page Speed de Google. Il existe d'autres outils de ce genre bien-sur.
Pour revenir à ta question concernant la compression du ViewState. Déjà, à titre informatif, il existe un add-on Firefox qui te donne la taille de ton ViewState pour une page aspx.
Généralement il est conseillé des désactiver le ViewState de tous les contrôles ou pages qui n'en ont pas besoin. Moins y en a, mieux c'est.
Concernant la mise en place de cette compression, tu peux regarder sur Google, il existe de nombreux articles/billet mettant en oeuvre cela (comme par exemple ici).
Enfin, si tu actives la compression au niveau de IIS, certains développeurs vont te dire : "c'est stupide de mettre en place la compression du ViewState alors que IIS compresse déjà toute la page, c'est du travail en double". Je répondrais oui et non (ce n'est pas non plus une généralité et dépend de certains paramètres). Il est bon de savoir que lorsque la compression IIS est activée, le client (le browser) reçoit bien des données compressées dont le ViewState. MAIS lors qu'il y a un POST du browser vers IIS, le browser n'envoie pas le ViewState compressé. Or les connections ont toujours un débit UP bien inférieur au débit DOWN. Dans ce cas précis il est utile de mettre en place la compression du ViewState en plus de celle effectuée par IIS.
Sinon pour optimiser une page il faut prendre en compte plusieurs paramètres, notamment le coup CPU niveau serveur, l'impact sur le temps de réponse, etc. Selon le cas, la configuration, les contraintes, on activera ou non la compression.
En espérant ne pas être trop sorti du cadre de ta réponse et t'avoir éclairé sur le sujet.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager