, nico-pyright(c) Je vous présente ici une méthode qui peut permettre de connaitre la taille finale de sa page, à des buts de profiling par exemple ou simplement de log.
Pour ce faire, on peut intercepter l'événement de l'application PostReleaseRequestState qui se produit lorsque ASP.NET a terminé l'exécution de tous les gestionnaires d'événements de requête et lorsque les données d'état de requête ont été stockées.
Pour s'abonner à cet événement, on peut passer par un HttpModule, mais on peut aussi utiliser le Global.Asax .
La solution proposée va être d'utiliser l'objet Response.Filter qui va permettre d'intercepter le code html généré avant la transmission au navigateur.
On l'utilise en créant une classe dérivée de Stream, en général pour le modifier. Dans notre cas, on ne va rien modifier, juste "compter".
Dans cet exemple, je filtre en testant le type du Handler, mais on peut aussi filtrer avec le contenu mime.
Par exemple
lors d'une requete Ajax.
Le code de la classe hériant de Stream pourrait être le suivant :
On hérite plutôt de MemoryStream, comme ca, on a déjà toute la logique implémentée.
Comme la page est envoyée en plusieurs bouts, chaque appel à Write n'est pas forcément unique, c'est pour ca qu'on logue lorsque l'objet est disposé.
Cet article n'a pas de Commentaires/Pingbacks pour le moment...
Vous devez être identifié pour poster un commentaire.
| Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 | 31 |
Copyright © 2000-2012 - www.developpez.com