Un errore molto comune nel mondo di ASP è: le intestazioni HTTP sono già scritte nel browser client. Qualsiasi modifica dell'intestazione HTTP deve essere effettuata prima di scrivere il contenuto della pagina. Il blocco dell'errore effettivo tende ad apparire così:

Errore oggetto risposta 'ASP 0156: 80004005
Errore di intestazione
/index.asp, linea 22
Le intestazioni HTTP sono già scritte nel browser client. Qualsiasi modifica dell'intestazione HTTP deve essere effettuata prima di scrivere il contenuto della pagina.

Innanzitutto, cosa causa questo errore? È esattamente ciò che viene detto. Hai già scritto le intestazioni HTTP, ad esempio i comandi HTML o HEAD o BODY. Ora stai provando a fare qualcos'altro, probabilmente il comando response.redirect. Non puoi andare a una nuova pagina nel mezzo della scrittura di una vecchia pagina.

La prima situazione più probabile è che hai davvero scritto qualcosa e poi hai provato a response.redirect. Se vuoi andare in una nuova pagina, fai il tuo processo decisionale PRIMA di iniziare a scrivere qualcosa sullo schermo. Non puoi semplicemente saltare a metà del disegno di una pagina. Effettua la tua elaborazione, decidi se devi andare altrove e vai lì se devi. In caso contrario, disegna la pagina in cui ti trovi attualmente. Puoi saperne di più sull'uso di Response.Redirect per cambiare pagina

Il secondo motivo più comune per questo evento è che stavi scherzando con i pulsanti di IIS. Se vai in Home Directory - Configurazione - Opzioni app, c'è una casella chiamata "Abilita buffering". Questo di default dovrebbe essere ON. Quando è attivo, significa che il processo ASP memorizza ciò su cui sta lavorando fino a quando non raggiunge la fine, quindi invia l'intera pagina all'utente. È il modo efficiente di gestire ASP.

Tuttavia, se disattivi questa casella di controllo, non puoi semplicemente chiamare un comando response.redirect per passare a una nuova pagina. Devi iniziare a gestire manualmente i problemi di buffering. Se vuoi davvero entrare in questo pasticcio, assicurati di leggere su Come funziona il buffering in ASP.

La soluzione semplice è:

* Lascia sempre la casella Abilita buffering su ON
* Usa sempre response.redirect PRIMA di scrivere QUALSIASI HTML.

Introduzione ad ASP Ebook

Scarica questo ebook per ottenere tutto ciò che devi sapere sull'apprendimento di ASP: da un tutorial passo-passo a elenchi di funzioni, codice di esempio, errori e soluzioni comuni e molto altro! 101 pagine.

Istruzioni Video: 13 CONSIGLI PER FORMATTARE UN LIBRO/ROMANZO IN MODO PROFESSIONALE - Tutorial Self-Publishing ITA (Aprile 2024).