Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Problème affichage aléatoire de page blanches IIS 6.0

10 réponses
Avatar
jemskywalker
Bonjour,

J'ai un site en ASP.Net qui tourne sous Windows Server 2003 sans
service pack avec IIS 6.0.
Mon probl=E8me : certaines de mes pages comportent des formulaires.
Lorsque l'utilisateur valide ce formulaire il obtient de fa=E7on
al=E9atoire, soit la page valid=E9e, soit une page enti=E8rement blanche
avec "Termin=E9" dans la barre d'=E9tat en bas =E0 gauche.
En pressant F5, IE lui demande de renvoyer les donn=E9es et la page
s'affiche correctement.

Je n'arrive pas =E0 reproduire le probl=E8me sur ma plateforme de
d=E9veloppement (Windows XP SP 2 et IIS 6.0).

J'ai essay=E9 de forcer le rafra=EEchissement de la page avec un
response.redirect(mapage) sans succ=E8s. J'ai aussi essay=E9 d'ajouter
les contr=F4les de flux suivants :
Response.Expires =3D 0 ;
Response.ExpiresAbsolute =3D DateTime.Now.AddDays(-1);
Response.AddHeader("pragma","no-cache");
Response.AddHeader("cache-control","private");
Response.CacheControl =3D "no-cache";
l=E0 aussi sans succ=E8s.

Je suis =E0 court d'id=E9es et mes utilisateurs =E0 bout de nerfs!

Quelqu'un =E0 une id=E9e d'o=F9 cela peut venir?

Merci d'avance=20

J=E9r=E9mie

10 réponses

Avatar
jbongran
wrote:
Bonjour,

J'ai un site en ASP.Net qui tourne sous Windows Server 2003 sans
service pack avec IIS 6.0.
Mon problème : certaines de mes pages comportent des formulaires.
Lorsque l'utilisateur valide ce formulaire il obtient de façon
aléatoire, soit la page validée, soit une page entièrement blanche
avec "Terminé" dans la barre d'état en bas à gauche.
En pressant F5, IE lui demande de renvoyer les données et la page
s'affiche correctement.

Je n'arrive pas à reproduire le problème sur ma plateforme de
développement (Windows XP SP 2 et IIS 6.0).

J'ai essayé de forcer le rafraîchissement de la page avec un
response.redirect(mapage) sans succès. J'ai aussi essayé d'ajouter
les contrôles de flux suivants :
Response.Expires = 0 ;
Response.ExpiresAbsolute = DateTime.Now.AddDays(-1);
Response.AddHeader("pragma","no-cache");
Response.AddHeader("cache-control","private");
Response.CacheControl = "no-cache";
là aussi sans succès.

Je suis à court d'idées et mes utilisateurs à bout de nerfs!

Quelqu'un à une idée d'où cela peut venir?

Merci d'avance

Jérémie



Essayes de désactiver la compression des fichiers statiques (css, js,
etc...) si elle est activée (certaines versions de navigateurs gèrent très
mal les contenus compressés)
Demander au client lorsqu'il a une page blanche d'en afficher la source et
éventuellement de te l'envoyer si ce n'est pas le contenu d'une page blanche
;-)
Vérifier le code de statut dans les logs de IIS
Ps:
Response.Expires = -1 plutôt que 0
Vérifier le format retournépar Response.ExpiresAbsolute, il doit
correspondre a une syntaxe précise (Par Ex: #May 31,2001 13:30:15#) bien que
cette fiche laisse à penser que IIS s'en occupe:
http://www.microsoft.com/windows2000/en/server/iis/default.asp?url=/windows2000/en/server/iis/htm/asp/vbob1qzp.htm
Avatar
jemskywalker
Je n'ai pas trouvé où se fait la désactivation de la compression des
fichiers statiques.
Par ailleurs, la page blanche affichée contient toutes les
informations de la page normale et pas simplement le code qu'on
attendrait dans une page blanche.
Le problème serait donc un problème de rendu de IE?
Qu'est-ce que peut m'apporter la connaissance du code de statut IIS?

Merci d'avance de ton aide

Jérémie
Avatar
jemskywalker
En fait j'ai parlé trop vite. Le code de la page est tronqué. J'ai
une partie du code HTML attendu mais qui s'arrête au milieu d'un tag.
IE ne renvoie aucune erreur de HTML mal formaté c'est étrange non?
Avatar
jbongran
wrote:
Je n'ai pas trouvé où se fait la désactivation de la compression des
fichiers statiques.
Par ailleurs, la page blanche affichée contient toutes les
informations de la page normale et pas simplement le code qu'on
attendrait dans une page blanche.
Le problème serait donc un problème de rendu de IE?
Qu'est-ce que peut m'apporter la connaissance du code de statut IIS?

Merci d'avance de ton aide

Jérémie



Clique droit sur le site web dans la console de gestion, onglet service,
décocher activer la compression des fichiers statiques...
Ou directement dans la métabase (C:Windowssystem32inetsrvmetabase.xml),
noeud "IIsCompressionScheme", la liste suivant "HcFileExtensions"
Plus qu'un long discours, de zolis images (et un peu de texte utile!)
http://www.laboratoire-microsoft.org/articles/win/compression-http-IIS-ISA/
Avatar
jbongran
wrote:
En fait j'ai parlé trop vite. Le code de la page est tronqué. J'ai
une partie du code HTML attendu mais qui s'arrête au milieu d'un tag.
IE ne renvoie aucune erreur de HTML mal formaté c'est étrange non?



Et pourtant il est tolérant ;-)
Vérifier avec un autre navigateur, si c'est possible, mais j'y crois pas.
As-tu ce souci en réseau local ?
Vérifier également en copiant/collant le contenu incomplet, la taille du
source, et voir si cette taille est toujours sensiblement la même.
Vérifier si il s'agit de pages dynamiques (asp, aspx, etc...) qu'il n'y a
pas de trap d'erreur non géré (On Error Resume Next)
Egalement, mais c'est plus rare, vérifier qu'il ne s'agit pas d'un problème
de MTU, en essayant par exemple de charger une image de plus de 9 Ko (pour
les puristes, cela correspond aux "jumbos" frames" pouvant être paramètrées
sur un 2000 ou 2003)
Sinon, peut aussi être un timeout de http.sys
http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/b1e3c76d-7569-4538-86bc-bd8194eb4823.mspx
Avatar
jemskywalker
Malheureusement mon site n'est pas visualisable correctement avec un
autre navigateur, j'ai essayé. La taille n'est pas la même pour 2
pages différentes mais pour la validation de la même page je ne sais
pas, je n'ai pas pu avoir les informations.

Toutes les erreurs sont catchées proprement et aucune de mes pages ne
contient d'image (sauf de minuscules gif pour certains boutons).

Je te mets un extrait des logs IIS au cas où tu y trouves plus d'infos
que moi qui n'ai rien pu en tirer de concluant.


#Fields: date time s-ip cs-method cs-uri-stem cs-uri-query s-port
cs-username c-ip cs(User-Agent) sc-status sc-substatus sc-win32-status
2005-09-27 06:09:08 192.168.2.25 GET /Site/default.aspx - 80 -
192.168.2.12
Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.0;+.NET+CLR+1.1.4322)
302 0 0
2005-09-27 06:09:08 192.168.2.25 GET /Site/connexion.aspx - 80 -
192.168.2.12
Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.0;+.NET+CLR+1.1.4322)
200 0 0
2005-09-27 06:09:08 192.168.2.25 GET /Site/css/style.css - 80 -
192.168.2.12
Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.0;+.NET+CLR+1.1.4322)
200 0 0
2005-09-27 06:09:08 192.168.2.25 GET
/aspnet_client/system_web/1_1_4322/WebUIValidation.js - 80 -
192.168.2.12
Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.0;+.NET+CLR+1.1.4322)
304 0 0
2005-09-27 06:09:17 192.168.2.25 POST /Site/connexion.aspx - 80 -
192.168.2.12
Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.0;+.NET+CLR+1.1.4322)
302 0 0
2005-09-27 06:09:17 192.168.2.25 GET /Site/default.aspx - 80 -
192.168.2.12
Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.0;+.NET+CLR+1.1.4322)
200 0 0
2005-09-27 06:09:17 192.168.2.25 GET /Site/css/style.css - 80 -
192.168.2.12
Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.0;+.NET+CLR+1.1.4322)
200 0 0
2005-09-27 06:09:17 192.168.2.25 GET /Site/js/menu.js - 80 -
192.168.2.12
Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.0;+.NET+CLR+1.1.4322)
404 0 2
2005-09-27 06:09:17 192.168.2.25 GET /Site/js/global.js - 80 -
192.168.2.12
Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.0;+.NET+CLR+1.1.4322)
200 0 64
2005-09-27 06:09:17 192.168.2.25 GET /Site/img/logo.jpg - 80 -
192.168.2.12
Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.0;+.NET+CLR+1.1.4322)
200 0 64
2005-09-27 06:09:19 192.168.2.25 POST /Site/default.aspx - 80 -
192.168.2.12
Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.0;+.NET+CLR+1.1.4322)
302 0 0
2005-09-27 06:09:19 192.168.2.25 GET /Site/saisieTournee.aspx - 80 -
192.168.2.12
Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.0;+.NET+CLR+1.1.4322)
200 0 0

Merci encore de ton aide.

Jérémie
Avatar
jbongran
wrote:
Malheureusement mon site n'est pas visualisable correctement avec un
autre navigateur, j'ai essayé. La taille n'est pas la même pour 2
pages différentes mais pour la validation de la même page je ne sais
pas, je n'ai pas pu avoir les informations.

Toutes les erreurs sont catchées proprement et aucune de mes pages ne
contient d'image (sauf de minuscules gif pour certains boutons).

Je te mets un extrait des logs IIS au cas où tu y trouves plus d'infos
que moi qui n'ai rien pu en tirer de concluant.


#Fields: date time s-ip cs-method cs-uri-stem cs-uri-query s-port
cs-username c-ip cs(User-Agent) sc-status sc-substatus sc-win32-status
2005-09-27 06:09:08 192.168.2.25 GET /Site/default.aspx - 80 -
192.168.2.12
Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.0;+.NET+CLR+1.1.4322)
302 0 0
2005-09-27 06:09:08 192.168.2.25 GET /Site/connexion.aspx - 80 -
192.168.2.12
Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.0;+.NET+CLR+1.1.4322)
200 0 0
2005-09-27 06:09:08 192.168.2.25 GET /Site/css/style.css - 80 -
192.168.2.12
Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.0;+.NET+CLR+1.1.4322)
200 0 0
2005-09-27 06:09:08 192.168.2.25 GET
/aspnet_client/system_web/1_1_4322/WebUIValidation.js - 80 -
192.168.2.12
Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.0;+.NET+CLR+1.1.4322)
304 0 0
2005-09-27 06:09:17 192.168.2.25 POST /Site/connexion.aspx - 80 -
192.168.2.12
Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.0;+.NET+CLR+1.1.4322)
302 0 0
2005-09-27 06:09:17 192.168.2.25 GET /Site/default.aspx - 80 -
192.168.2.12
Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.0;+.NET+CLR+1.1.4322)
200 0 0
2005-09-27 06:09:17 192.168.2.25 GET /Site/css/style.css - 80 -
192.168.2.12
Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.0;+.NET+CLR+1.1.4322)
200 0 0
2005-09-27 06:09:17 192.168.2.25 GET /Site/js/menu.js - 80 -
192.168.2.12
Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.0;+.NET+CLR+1.1.4322)
404 0 2
2005-09-27 06:09:17 192.168.2.25 GET /Site/js/global.js - 80 -
192.168.2.12
Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.0;+.NET+CLR+1.1.4322)
200 0 64
2005-09-27 06:09:17 192.168.2.25 GET /Site/img/logo.jpg - 80 -
192.168.2.12
Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.0;+.NET+CLR+1.1.4322)
200 0 64
2005-09-27 06:09:19 192.168.2.25 POST /Site/default.aspx - 80 -
192.168.2.12
Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.0;+.NET+CLR+1.1.4322)
302 0 0
2005-09-27 06:09:19 192.168.2.25 GET /Site/saisieTournee.aspx - 80 -
192.168.2.12
Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.0;+.NET+CLR+1.1.4322)
200 0 0

Merci encore de ton aide.

Jérémie



De ce que je voit, il y a un 404 non trouvé pour /Site/js/menu.js
Maintenant savoir si ça peut avoir un rapport avec ton souci de rendu...
Il y a pas mal de redirections, (code 302) il serait peut être judicieux
dans la console de IIS de cocher la case indiquant que le contenu doit
expirer immédiatement, le temps des tests.
Aussi il serait interessant de savoir si les client rencontrant le souci
sont derrière un serveur cache (proxy)
Enfin, il existe des outils tirce permettant en temps réél de voir les
entêtes echangés entre un serveur et IE:
http://www.httpwatch.com/
Avatar
jemskywalker
En activation l'expiration du cache immédiatement le problème se
produit encore. Les clients utilisent effectivement un proxy de cache,
mais c'est un proxy qui appartient à leur réseau local.
Est-ce que le proxy pourrait causer des problèmes de communication
entre clients et serveur?
Est-ce qu'installer un sniffeur sur le serveur peut apporter quelque
chose?

Merci

Jérémie
Avatar
jbongran
wrote:
En activation l'expiration du cache immédiatement le problème se
produit encore. Les clients utilisent effectivement un proxy de cache,
mais c'est un proxy qui appartient à leur réseau local.
Est-ce que le proxy pourrait causer des problèmes de communication
entre clients et serveur?
Est-ce qu'installer un sniffeur sur le serveur peut apporter quelque
chose?

Merci

Jérémie



C'est pas impossible.
Il faudrait demander à l'un de tes clients de faire une exception dans le
proxy pour ton site web, voir d'autoriser l'accès sans passer par le proxy.
Sur le serveur, de mémoire, il me semble qu'une requête proxy envoi au moins
un entête supplémentaire: forwarded-for

Je me rappelle aussi d'un souci avec certains proxy's (et navigateurs)
lorsqu'il s'agit de redirection.
En lieu et place de redirection, peut être que l'usage de serveur.transfert
résoudrait ce souci ?
Avatar
jemskywalker
Qu'est-ce que tu appelles "faire une exception dans le proxy" pour mon
site?
Les utilisateurs ont fait le test en désactivant l'utilisation du
proxy mais les pages blanches persistent.

Cela dit j'ai appris qu'ils n'avaient pas le SP2 de IE. Je leur ai
demandé de l'installer, on verra si ça change quelque chose.

Les redirections que j'utilise sont uniquement dans le menu et ce
dernier ne provoque aucune page blanche. Je doute donc que le problème
vienne de là, à moins que IIS ne redirige lui-même des pages sans
qu'on le lui ai demandé.