ASPの世界で非常に一般的なエラーは次のとおりです。HTTPヘッダーは既にクライアントブラウザーに書き込まれています。ページコンテンツを書き込む前に、HTTPヘッダーを変更する必要があります。実際のエラーブロックは次のようになります。

応答オブジェクトエラー 'ASP 0156:80004005
ヘッダーエラー
/index.asp、22行目
HTTPヘッダーはすでにクライアントブラウザーに書き込まれています。ページコンテンツを書き込む前に、HTTPヘッダーを変更する必要があります。

まず、このエラーの原因は何ですか?それはまさに言われていることです。 HTMLまたはHEADまたはBODYコマンドなどのHTTPヘッダーはすでに作成されています。あなたは今、何か他のことをしようとしています-おそらくresponse.redirectコマンドです。古いページを書いている最中に新しいページに行くことはできません。

最初の可能性が最も高い状況は、実際に何かを書き出してからresponse.redirectを試みることです。新しいページに移動したい場合は、画面に何かを書き始める前に決定プロセスを行います。ページを描く途中で跳躍することはできません。処理を行い、他の場所に行く必要があるかどうかを判断し、必要に応じてそこに行きます。そうでない場合は、現在のページを描画します。 Response.Redirectを使用してページを変更する方法について詳しく知ることができます。

これが起こる2番目の最も一般的な理由は、IISのボタンをだましていたことです。 [ホームディレクトリ]-[構成]-[アプリオプション]に移動すると、[バッファリングを有効にする]チェックボックスがあります。これはデフォルトでオンになっているはずです。これがオンの場合、ASPプロセスは、最後に到達するまで作業中の内容を保存し、ユーザーにページ全体を送信します。 ASPを処理する効率的な方法です。

ただし、このチェックボックスをオフにすると、response.redirectコマンドを呼び出して新しいページにジャンプすることはできません。バッファリングの問題を手動で処理する必要があります。この混乱に本当に入りたい場合は、ASPでのバッファリングの仕組みを読んでください。

簡単な解決策は次のとおりです。

* [バッファリングを有効にする]チェックボックスは常にオンのままにします
* HTMLを書き出す前に、必ずresponse.redirectを使用してください。

ASP Ebookの概要

この電子ブックをダウンロードして、ASPの学習について知っておくべきすべての情報を入手してください-ステップバイステップチュートリアルから機能リスト、サンプルコード、一般的なエラーと解決策などまで! 101ページ。

動画の説明: Technology Stacks - Computer Science for Business Leaders 2016 (かもしれません 2024).