O eroare foarte frecventă în lumea ASP este: Anteturile HTTP sunt deja scrise în browserul client. Orice modificări ale antetului HTTP trebuie făcute înainte de a scrie conținutul paginii. Blocul de eroare efectiv tinde să arate astfel:

Eroare obiect de răspuns 'ASP 0156: 80004005
Eroare antet
/index.asp, linia 22
Anteturile HTTP sunt deja scrise în browserul client. Orice modificări ale antetului HTTP trebuie făcute înainte de a scrie conținutul paginii.

În primul rând, ce cauzează această eroare? Este exact ceea ce se spune. Ați scris deja anteturi HTTP - cum ar fi comenzile HTML sau HEAD sau BODY. Acum încercați să faceți altceva - probabil comanda response.redirect. Nu puteți merge pe o pagină nouă în mijlocul scrierii unei pagini vechi.

Prima situație cea mai probabilă este că ai scris cu adevărat ceva și apoi încercați să răspundeți.redirect. Dacă doriți să accesați o nouă pagină, faceți procesul de decizie ÎNAINTE de a începe să scrieți ceva pe ecran. Nu poți sări doar pe jumătate prin desenarea unei pagini. Faceți procesarea, decideți dacă trebuie să mergeți în altă parte și mergeți acolo dacă trebuie. Dacă nu, desenați pagina pe care sunteți în prezent. Puteți afla mai multe despre utilizarea Response.Redirect la paginile de schimbare

Al doilea motiv cel mai obișnuit pentru această întâmplare este că te-ai păcălit cu butoanele din IIS. Dacă accesați Home Directory - Configuration - Opțiuni pentru aplicații, există o casetă de selectare numită "Enable Buffering". În mod implicit, aceasta ar trebui să fie ACTIVĂ. Când este activat, înseamnă că procesul dvs. ASP stochează la ce funcționează până când ajunge la sfârșit, apoi trimite pagina completă către utilizator. Este modul eficient de manipulare a ASP.

Cu toate acestea, dacă dezactivați acea casetă de selectare, nu puteți doar să apelați o comandă response.redirect pentru a trece la o nouă pagină. Trebuie să începeți manual să vă ocupați de problemele de buffering. Dacă doriți cu adevărat să intrați în această mizerie, asigurați-vă că citiți cum funcționează buffering-ul în ASP.

Soluția simplă este:

* Lăsați întotdeauna caseta de validare Activați tamponarea la ON
* Utilizați întotdeauna response.redirect Înainte de a scrie ORICE HTML.

Introducere în ASP Ebook

Descărcați acest ebook pentru a obține tot ce trebuie să știți despre învățarea ASP - de la un tutorial pas cu pas la liste de funcții, cod de eșantion, erori și soluții comune și multe altele! 101 pagini.

Instrucțiuni Video,: John Maeda: How art, technology and design inform creative leaders (Martie 2024).