Ein sehr häufiger Fehler in der Welt von ASP ist: Die HTTP-Header sind bereits in den Client-Browser geschrieben. Alle Änderungen am HTTP-Header müssen vor dem Schreiben des Seiteninhalts vorgenommen werden. Der eigentliche Fehlerblock sieht in der Regel folgendermaßen aus:

Antwortobjektfehler 'ASP 0156: 80004005
Header-Fehler
/index.asp, Zeile 22
Die HTTP-Header sind bereits in den Client-Browser geschrieben. Alle Änderungen am HTTP-Header müssen vor dem Schreiben des Seiteninhalts vorgenommen werden.

Was verursacht diesen Fehler? Es ist genau das, was gesagt wird. Sie haben bereits HTTP-Header geschrieben, z. B. die Befehle HTML, HEAD oder BODY. Sie versuchen jetzt, etwas anderes zu tun - wahrscheinlich den Befehl response.redirect. Sie können während des Schreibens einer alten Seite nicht zu einer neuen Seite wechseln.

Die erste wahrscheinlichste Situation ist, dass Sie wirklich etwas aufgeschrieben und dann versucht haben, auf response.redirect zu antworten. Wenn Sie zu einer neuen Seite wechseln möchten, führen Sie Ihren Entscheidungsprozess durch, bevor Sie etwas auf den Bildschirm schreiben. Sie können nicht einfach zur Hälfte durch das Zeichnen einer Seite springen. Führen Sie Ihre Verarbeitung durch, entscheiden Sie, ob Sie woanders hingehen müssen, und gehen Sie dorthin, wenn Sie müssen. Wenn nicht, zeichnen Sie die Seite, auf der Sie sich gerade befinden. Weitere Informationen zur Verwendung von Response.Redirect zum Ändern von Seiten

Der zweithäufigste Grund dafür ist, dass Sie mit den Schaltflächen in IIS herumgespielt haben. Wenn Sie zu Home Directory - Konfiguration - App-Optionen wechseln, gibt es ein Kontrollkästchen mit dem Namen "Puffer aktivieren". Dies sollte standardmäßig eingeschaltet sein. Wenn diese Option aktiviert ist, speichert Ihr ASP-Prozess das, woran er gerade arbeitet, bis zum Ende und sendet dann die gesamte Seite an den Benutzer. Dies ist die effiziente Art, mit ASP umzugehen.

Wenn Sie dieses Kontrollkästchen jedoch deaktivieren, können Sie nicht einfach einen Befehl response.redirect aufrufen, um zu einer neuen Seite zu springen. Sie müssen manuell mit Pufferungsproblemen beginnen. Wenn Sie wirklich in dieses Chaos geraten möchten, lesen Sie unbedingt, wie das Puffern in ASP funktioniert.

Die einfache Lösung lautet:

* Lassen Sie das Kontrollkästchen Puffer aktivieren immer auf EIN
* Verwenden Sie immer response.redirect, bevor Sie HTML schreiben.

Einführung in ASP Ebook

Laden Sie dieses eBook herunter, um alles zu erfahren, was Sie über das Erlernen von ASP wissen müssen - von einem schrittweisen Tutorial über Funktionslisten, Beispielcode, häufige Fehler und Lösungen bis hin zu vielem mehr! 101 Seiten.

Video-Anleitungen: SDP - Deine Freundin (Kann 2024).