Если вы знаете Response.Flush и Response.Clear, вам не придется так ждать. Каждый раз, когда создается Html-страница, Response.write используется для немедленного возврата сообщения, указывающего, что запись базы данных создала Html. Когда программист пишет статическую страницу HTML, сгенерированную из страницы ASP, и если одновременно генерируется большое количество страниц, он, должно быть, столкнулся с длительным процессом ожидания, когда индикатор выполнения в нижней части браузера показывает 3%, 6 %, 10% и т. д., которые медленно увеличиваются. Во время этого процесса ожидания вы не знаете, какая запись была сгенерирована на странице, поэтому вам остается только ждать с широко открытыми глазами.
Если вы знаете Response.Flush и Response.Clear, то вам не придется так ждать. Каждый раз, когда создается Html-страница, Response.write используется для немедленного возврата сообщения, указывающего, что запись базы данных создала Html.
Таким образом, когда одновременно создается большое количество страниц, вы больше не смотрите в одиночестве на пустую страницу, а просто ошеломлены медленно меняющимся индикатором выполнения в нижней части браузера. Вы всегда можете узнать, какая из них. запись в базе данных была создана. Даже если произойдет авария, например, сбой, отключение электроэнергии и т. д., вы будете знать дату, когда следующее поколение должно быть записано и перезапущено для генерации HTML. Разве это не здорово? Это индикатор выполнения и более конкретный.
Ха-ха, не волнуйтесь, давайте сначала посмотрим на значение Response.Flush и Response.Clear.
Метод Flush объекта Response немедленно отправляет выходные данные в буфер. Этот метод вызовет ошибку во время выполнения, если для Response.Buffer не установлено значение TRUE. Синтаксис: Response.Flush; Примечание. Если метод Flush вызывается на странице ASP, сервер ответит на запрос поддержания активности на странице. Применяется к объектам Response.
Что касается Buffer, вот введение. Buffer буквально переводится с английского как буферная зона. Здесь мы называем его буфером, потому что это не только существительное, но и глагол.
Буфер — это место, где хранится ряд данных. Данные, полученные клиентом, могут быть выведены непосредственно из результата выполнения программы или выведены из буфера. Но между этими двумя методами есть разница в скорости: в Интернете, когда программа ASP не запрашивается много раз, между ними практически нет разницы, по крайней мере, мы ее не чувствуем. Но когда многие люди запрашивают программу asp, скорость другая. Если буфера нет, то результат, полученный каждым клиентом, запрашивающим программу ASP, является результатом, полученным при однократном выполнении программы ASP. Если программа ASP заранее буферизована, результатом, полученным каждым клиентом, является буферизованный результат. Результат области не является результатом однократного выполнения программы. Например, 1000 пользователей одновременно обращаются к странице ASP. Если программа ASP не буферизована, программа будет выполняться тысячу раз, что увеличит нагрузку на сервер и заставит клиента открывать страницу медленнее; программа ASP буферизована, то результат будет разным. Каждый клиент получает данные непосредственно из буфера, а сервер не будет увеличивать количество выполнений программы из-за увеличения доступа, поэтому скорость, с которой клиент открывает страницу, будет равна. медленнее, чем в предыдущем случае быстро. В этом преимущество Buffer.
Что касается Response.clear, метод Clear удаляет весь вывод HTML в буфере. Но метод Clear удаляет только тело ответа, а не заголовки ответа. Этот метод можно использовать для обработки ошибок. Обратите внимание, что этот метод вызовет ошибку времени выполнения, если для Response.Buffer не установлено значение TRUE. Синтаксис: Response.Clear применяется к объектам Response.
Что ж, если вы хотите добиться эффекта немедленного вывода, просто добавьте Response.Flush и Response.Clear после желаемой информации о выводе в теле цикла. нравиться:
<%
для i = от 1 до 2000
для i1=от 1 до 3000
''Пустой цикл, увеличивающий время каждого выполнения
следующий
Ответ.напишите i&)
Ответ.Flush
Ответ.Очистить
следующий
%>
После выполнения приведенного выше оператора asp вы обнаружите, что выходные данные выводятся один за другим. Если вы выполните его один раз, он будет выведен один раз.
Но я видел, как кто-то в Интернете много раз говорил, что мы обнаруживаем, что даже если мы используем Response.Flush(), предыдущая информация не отправляется клиенту для отображения. Нам по-прежнему представлен белый экран. После повторного тестирования я пришел к выводу: содержимое флеша должно быть не менее 256 байт. То есть, только если компиляция генерирует не менее 256 байт данных, информацию можно отправить клиенту и отобразить после выполнения Response.Flush().
Странно, что оператор, который я привел выше, действительно обеспечивает эффект отображения по одному и не выводит заранее 256 байт. Вы можете сохранить приведенный выше оператор как Блокнот и запустить его, чтобы увидеть, эффект отображается построчно. Перечисленные мной мнения представляют собой исключительно личное мнение Flymorn и не могут быть использованы для других целей.
Если вам действительно нужно заранее вывести 256 байт, вы можете сделать это:
<%
дим лиджи
для я = от 1 до 256
liji=liji&<!--Сначала сгенерируйте 256 символов-WWW.PIAOYI.ORG-->
если len(liji)>=256, то выходим для
следующий
%>
Если у вас другие точки зрения или другие результаты тестов, пожалуйста, не стесняйтесь обсудить это со мной.