Une erreur très courante dans le monde ASP est: les en-têtes HTTP sont déjà écrits dans le navigateur client. Toute modification d'en-tête HTTP doit être effectuée avant d'écrire le contenu de la page. Le bloc d'erreur réel a tendance à ressembler à ceci:

Erreur d'objet de réponse 'ASP 0156: 80004005
Erreur d'en-tête
/index.asp, ligne 22
Les en-têtes HTTP sont déjà écrits dans le navigateur client. Toute modification d'en-tête HTTP doit être effectuée avant d'écrire le contenu de la page.

D'abord, qu'est-ce qui cause cette erreur? C'est exactement ce qui se dit. Vous avez déjà écrit des en-têtes HTTP, tels que les commandes HTML ou HEAD ou BODY. Vous essayez maintenant de faire autre chose - probablement la commande response.redirect. Vous ne pouvez pas passer à une nouvelle page au milieu de l'écriture d'une ancienne page.

La première situation la plus probable est que vous avez vraiment écrit quelque chose et que vous essayez ensuite de response.redirect. Si vous souhaitez accéder à une nouvelle page, effectuez votre processus de décision AVANT de commencer à écrire quoi que ce soit à l'écran. Vous ne pouvez pas simplement sauter à mi-chemin en dessinant une page. Faites votre traitement, décidez si vous devez aller ailleurs et allez-y si vous le devez. Sinon, dessinez la page sur laquelle vous vous trouvez actuellement. Vous pouvez en savoir plus sur l'utilisation de Response.

La deuxième raison la plus courante à cela est que vous étiez en train de tromper avec les boutons dans IIS. Si vous allez dans Home Directory - Configuration - App Options, il y a une case à cocher appelée "Enable Buffering". Par défaut, cela devrait être activé. Lorsque cette option est activée, cela signifie que votre processus ASP stocke ce sur quoi il travaille jusqu'à la fin, puis envoie la page complète à l'utilisateur. C'est le moyen efficace de gérer ASP.

Cependant, si vous désactivez cette case à cocher, vous ne pouvez pas simplement appeler une commande response.redirect pour passer à une nouvelle page. Vous devez commencer à traiter manuellement les problèmes de mise en mémoire tampon. Si vous voulez vraiment entrer dans ce pétrin, assurez-vous de lire comment fonctionne la mise en mémoire tampon dans ASP.

La solution simple est:

* Toujours laisser la case Activer la mise en mémoire tampon sur ON
* Utilisez toujours response.redirect AVANT d'écrire N'IMPORTE QUEL HTML.

Introduction à ASP Ebook

Téléchargez cet ebook pour obtenir tout ce que vous devez savoir sur l'apprentissage d'ASP - d'un didacticiel étape par étape aux listes de fonctions, des exemples de code, des erreurs et des solutions courantes, et bien plus encore! 101 pages.

Instructions Vidéo: Tout Savoir Sur... Les confitures - Bonne Maman, Andros, Confiture à la fraise... (Mai 2024).