Um erro muito comum no mundo do ASP é: Os cabeçalhos HTTP já foram gravados no navegador do cliente. Qualquer modificação no cabeçalho HTTP deve ser feita antes de escrever o conteúdo da página. O bloco de erro real tende a se parecer com isso:

Erro no objeto de resposta 'ASP 0156: 80004005
Erro de cabeçalho
/index.asp, linha 22
Os cabeçalhos HTTP já estão gravados no navegador do cliente. Qualquer modificação no cabeçalho HTTP deve ser feita antes de escrever o conteúdo da página.

Primeiro, o que causa esse erro? É exatamente o que está sendo dito. Você já escreveu cabeçalhos HTTP - como os comandos HTML ou HEAD ou BODY. Agora você está tentando fazer outra coisa - provavelmente o comando response.redirect. Você não pode ir para uma nova página no meio da escrita de uma página antiga.

A primeira situação mais provável é que você realmente escreveu algo e tentou responder.redirecionar. Se você quiser ir para uma nova página, faça seu processo de decisão antes de começar a escrever qualquer coisa na tela. Você não pode simplesmente pular no meio do caminho para desenhar uma página. Faça seu processamento, decida se você precisa ir para outro lugar e vá para lá se for necessário. Caso contrário, desenhe a página em que você está atualmente. Você pode aprender mais sobre o uso do Response.Redirect to Change Pages

O segundo motivo mais comum para isso acontecer é que você estava enganando os botões no IIS. Se você for para o Diretório base - Configuração - Opções do aplicativo, há uma caixa de seleção chamada "Ativar buffer". Por padrão, deve estar LIGADO. Quando ativado, significa que seu processo ASP armazena o que está trabalhando até o final e envia a página inteira ao usuário. É a maneira eficiente de lidar com o ASP.

No entanto, se você desativar essa caixa de seleção, não poderá simplesmente chamar um comando response.redirect para pular para uma nova página. Você precisa começar a lidar manualmente com problemas de buffer. Se você realmente deseja entrar nessa bagunça, não deixe de ler Como funciona o buffer no ASP.

A solução simples é:

* Sempre deixe a caixa de seleção Ativar buffer para LIGADA
* Sempre use response.redirect ANTES de escrever QUALQUER HTML.

Introdução ao ASP Ebook

Faça o download deste e-book para obter tudo o que você precisa saber sobre o aprendizado de ASP - de um tutorial passo a passo a listas de funções, código de exemplo, erros e soluções comuns e muito mais! 101 páginas.