プログラムを高速化するには、Response.Buffer=True を使用します。Response.Flush() の内容は少なくとも 256 バイトである必要があります。
i=1 ~ 256 の場合
yongfa365=yongfa365&<!--ここでの主な目的は、リアルタイムで出力できるように、最初にフロントで 256 文字を生成させることです-->
len(yongfa365)>=256 の場合は終了します。
次
MadeBasic()
MadeModel()
MadeIndexBlogItem()
response.Write 1/6 すべてのテンプレートが生成されました<br>&yongfa365
Response.Flush()
MadeIndex(カレンダー)
response.Write 2/6日付インデックス生成完了<br>
Response.Flush()
MadeIndex(カテゴリ)
response.Write 3/6 分類インデックス生成完了<br>
Response.Flush()
MadeIndex(ブログ)
response.Write 4/6 合計インデックス生成が完了しました<br>
Response.Flush()
MadeRSS()
response.Write 5/6 RSS生成完了<br>
Response.Flush()
メイドアイテム(全て)
response.Write 6/6 すべての記事が生成されました<font color=red>OK、ついに完成しました</red>
Response.Flush()
上記は、バックグラウンドで静的ファイルを動的に生成するコードです。その目的は、Response.Flush() を追加しない前に、進行状況バーを確認することだけでした。 IE ステータス バーに .Flush() の後に応答を追加するのはとても憂鬱でした。インターネットで見つけたいくつかの参考資料を以下に示します。
多くの人が、特に ASP において Buffer についてどの程度知っているかわかりません。多くの初心者は、ASP プログラムを作成するときにこのステートメントをほとんど使用しません。Buffer の目的と、ASP プログラムにおけるその役割について説明します。
1.バッファー
バッファは英語から直訳するとバッファゾーンです。名詞だけでなく動詞でもあるため、ここではバッファと呼びます。
バッファは一連のデータを格納する場所で、クライアントが取得したデータはプログラムの実行結果から直接出力したり、バッファから出力したりすることができます。ただし、これら 2 つの方法には速度の違いがあります。Web では、ASP プログラムが何度もリクエストされない場合、基本的に 2 つの方法に違いはありません。少なくとも私たちはそれを感じられません。しかし、多くの人がASPプログラムをリクエストすると、速度が異なります。バッファがない場合、ASP プログラムを要求した各クライアントが取得する結果は、ASP プログラムを 1 回実行して取得した結果になります。ASP プログラムが事前にバッファリングされている場合、各クライアントが取得した結果はバッファリングされた結果になります。この領域の結果は、プログラムを 1 回実行した結果ではありません。たとえば、1,000 人のユーザーが同時に ASP ページにアクセスすると、ASP プログラムがバッファリングされていない場合、プログラムは 1,000 回実行されるため、サーバーの負荷が増加し、クライアントがページを開く速度が遅くなります。 ASP プログラムがバッファリングされている場合、結果は異なります。各クライアントはバッファから直接データを取得します。また、サーバーはアクセスの増加によってプログラムの実行数を増やすことがないため、クライアントがページを開く速度は遅くなります。前の場合よりも遅くなります。これはバッファの利点です。
2.ASPプログラムをバッファリングする方法
この問題は実際には非常に単純です。asp プログラムの最初の行に次のように追加するだけです。
<% Response.Buffer = True %>
それでおしまい。
この文の意味は、属性値が True の場合、すべてのプログラムが実行されるか検出されるまで、サーバーはクライアントに情報を送信しないことを示します。
<% Response.Flush %> または <% Response.End %>
バッファ情報を解放するステートメント。
Response.Buffer=True と Response.Flush を使用すると、ページに Response.Buffer=False が設定されている場合、100 人がこのページを閲覧すると 3000 回のデータ転送が行われます。往復送信は効率に重大な影響を及ぼします。最初に Response.Buffer=True を設定し、ページ全体をいくつかのグループに分割し、適切な場所で Response.Flush を使用すると、訪問者のエクスペリエンスが大幅に向上します。
3. 時々自分が役に立たないと感じるのはなぜですか
例えば:
<%
'警告: 何もすることがない場合はこれを実行しないでください
i=1 ~ 10000 の場合
応答。<b><center><font color=#FF0000>私は www.yongfa365.com&i&</font></center></b> と記入してください。
レスポンス.フラッシュ
応答.クリア
次
%>
出てくるまでに長い時間がかかり、たくさん出てきて、また次から次へと出てきます。
理由:
Response.Flush()。まず、バッファ内のコンパイルされたデータをクライアントに送信します。
しかし
フラッシュの内容は少なくとも 256 バイトである必要があります。つまり、コンパイルで少なくとも 256 バイトのデータが生成された場合にのみ、情報をクライアントに送信し、Response.Flush() の実行後に表示できます。
明確な方法
Clear メソッドは、バッファ内のすべての HTML 出力を削除します。 Clear メソッドは応答本文のみを削除し、応答ヘッダーは削除しません。
文法
応答.クリア
コメント
Response.Clear を呼び出すと、このページの前の部分で出力されたデータがクリアされます。同時に、プログラムで Response.ContentEncoding が設定されている場合、Response.Clear はエンコード方式を直接送信に設定します。
応答オブジェクトに適用されます
4. まとめ
ResponseのBuffer属性によりページの表示速度が向上しますが、状況により異なります。一般的な個人のホームページを作成する場合、アクセス数がそれほど多くなく、複雑な実行プログラムがない場合、データのバッファリングに時間がかかるため、この属性を使用するかどうかはそれほど重要ではありませんが、実感できませんが、大規模なフォーラムや製品表示、その他のビジネス サイトを作成していて、トラフィックが非常に多い場合は、最初の行に <% Response.Buffer = True %> という文を追加することをお勧めします。これにより、お客様はより多くのデータを効果的な時間で取得できるようになります。
添付:
通常、これは検証コードのファイルヘッダーにあります。
応答.バッファ=false
応答.有効期限=0
Response.ExpiresAbsolute = Now() - 1
Response.AddHeader プラグマ、キャッシュなし
Response.AddHeader キャッシュ コントロール、プライベート
Response.CacheControl = キャッシュなし
キャッシュされるのを防ぐためだけです。