Jika Anda mengetahui Response.Flush dan Response.Clear, maka Anda tidak perlu menunggu seperti ini. Setiap kali halaman Html dibuat, Response.write digunakan untuk segera mengembalikan pesan yang menunjukkan bahwa catatan database telah menghasilkan Html. Ketika seorang programmer menulis halaman statis HTML yang dihasilkan dari halaman ASP, jika sejumlah besar halaman dihasilkan pada saat yang sama, dia pasti mengalami proses menunggu yang lama dengan bilah kemajuan di bawah browser menunjukkan 3%, 6%, 10 %, dll. yang perlahan meningkat. Selama proses menunggu ini, Anda tidak mengetahui record mana yang telah dibuat pada halaman tersebut, jadi Anda hanya bisa menunggu dengan mata terbuka lebar.
Jika Anda mengetahui Response.Flush dan Response.Clear, maka Anda tidak perlu menunggu seperti ini. Setiap kali halaman Html dibuat, Response.write digunakan untuk segera mengembalikan pesan yang menunjukkan bahwa catatan database telah menghasilkan Html.
Dengan cara ini, ketika sejumlah besar halaman dibuat pada saat yang sama, Anda tidak lagi sendirian melihat halaman kosong tetapi hanya bilah kemajuan yang berubah secara perlahan di bagian bawah browser Anda selalu dapat mengetahui catatan database mana yang telah disimpan dihasilkan. Bahkan jika terjadi kecelakaan, seperti crash, pemadaman listrik, dll., Anda akan mengetahui tanggal di mana generasi berikutnya harus direkam dan dimulai ulang untuk menghasilkan HTML. Hebat bukan? Ini adalah bilah kemajuan dan lebih spesifik.
Haha tenang saja, yuk kita lihat dulu pengertian Response.Flush dan Response.Clear.
Metode Flush dari objek Response segera mengirimkan output ke buffer. Metode ini akan menyebabkan kesalahan run-time jika Response.Buffer tidak disetel ke TRUE. Sintaks: Response.Flush; Catatan: Jika metode Flush dipanggil pada halaman ASP, server akan merespons permintaan tetap hidup pada halaman tersebut. Diterapkan pada objek Respons.
Mengenai Buffer, berikut perkenalannya. Buffer secara harafiah diterjemahkan dari bahasa Inggris sebagai buffer zone. Di sini kita menyebutnya buffer karena bukan hanya kata benda, tetapi juga kata kerja.
Buffer merupakan tempat penyimpanan serangkaian data, data yang diperoleh client dapat berupa output langsung dari hasil eksekusi program atau output dari buffer. Namun ada perbedaan kecepatan antara kedua metode ini: di web, ketika program ASP tidak diminta berkali-kali, pada dasarnya tidak ada perbedaan antara keduanya, setidaknya kita tidak bisa merasakannya. Namun ketika banyak orang yang request program asp, kecepatannya berbeda-beda. Jika tidak ada buffer, maka hasil yang diperoleh setiap klien yang meminta program ASP adalah hasil yang diperoleh dengan mengeksekusi program ASP satu kali. Jika program ASP di-buffer terlebih dahulu, maka hasil yang diperoleh setiap klien adalah hasil buffer tersebut hasil daerah tersebut bukan merupakan hasil dari pelaksanaan program satu kali saja. Misalnya, 1.000 pengguna mengakses halaman ASP secara bersamaan. Jika program ASP tidak di-buffer, program akan dijalankan ribuan kali, yang akan menambah beban di server dan menyebabkan klien membuka halaman lebih lambat jika Jika program ASP di-buffer, maka hasilnya akan berbeda. Setiap klien memperoleh data langsung dari buffer, dan server tidak akan menambah jumlah eksekusi program karena peningkatan akses, sehingga kecepatan klien membuka halaman akan menjadi. lebih lambat dari pada kasus sebelumnya dengan cepat. Inilah manfaat Buffer.
Mengenai Response.clear, metode Clear menghapus semua output HTML di buffer. Namun metode Clear hanya menghapus isi respons dan bukan header respons. Anda dapat menggunakan metode ini untuk menangani kondisi kesalahan. Perhatikan bahwa metode ini akan menyebabkan kesalahan runtime jika Response.Buffer tidak disetel ke TRUE. Sintaks: Response.Clear; diterapkan pada objek Respon.
Nah, jika Anda ingin mendapatkan efek keluaran langsung, cukup tambahkan Response.Flush dan Response.Clear setelah informasi prompt keluaran yang diinginkan di badan loop. menyukai:
<%
untuk i=1 hingga 2000
untuk i1=1 hingga 3000
''Loop kosong, memperpanjang setiap waktu eksekusi
Berikutnya
Respon.tulis i&)
Respon. Siram
Respon. Jelas
Berikutnya
%>
Setelah Anda menjalankan pernyataan asp di atas, Anda akan menemukan bahwa keluarannya adalah keluaran satu per satu.
Namun saya melihat seseorang di Internet mengatakan bahwa berkali-kali, kami menemukan bahwa meskipun kami menggunakan Response.Flush(), informasi sebelumnya tidak dikirim ke klien untuk ditampilkan. Kita masih disuguhkan layar berwarna putih. Setelah pengujian berulang kali, saya sampai pada kesimpulan: konten flush harus minimal 256 byte. Artinya, hanya jika kompilasi menghasilkan setidaknya 256 byte data, informasi tersebut dapat dikirim ke klien dan ditampilkan setelah menjalankan Response.Flush().
Anehnya, pernyataan yang saya berikan di atas memang mencapai efek tampilan satu per satu, dan tidak menampilkan 256 byte sebelumnya. Anda dapat menyimpan pernyataan di atas sebagai Notepad dan menjalankannya untuk melihat, efeknya ditampilkan baris demi baris. Pendapat yang saya cantumkan hanya mewakili pendapat pribadi flymorn dan tidak boleh digunakan untuk tujuan lain.
Jika Anda benar-benar perlu mengeluarkan 256 byte sebelumnya, Anda dapat melakukan ini:
<%
redup liji
untuk i=1 sampai 256
liji=liji&<!--Pertama buat 256 karakter-WWW.PIAOYI.ORG-->
jika len(liji)>=256 lalu keluar untuk
Berikutnya
%>
Jika Anda memiliki pandangan berbeda atau hasil tes berbeda, silakan berdiskusi dengan saya.