Classic asp - Когда использовать Response.flush? - PullRequest
8 голосов
/ 25 сентября 2008

У нас мучительно медленный отчет. Я добавил Response.flush, и он кажется намного лучше. Каковы некоторые предостережения от использования этого метода.

Ответы [ 4 ]

8 голосов
/ 25 сентября 2008

Если Response.Buffer не установлен в значение true, вы получите ошибку во время выполнения. Кроме того, если на странице ASP вызывается метод Flush, сервер не учитывает запросы Keep-Alive для этой страницы.

Вы также захотите посмотреть, используете ли вы дизайн на основе таблицы, поскольку он не будет отображаться в некоторых браузерах, пока не будет отправлена ​​вся таблица. Это означает, что если у вас есть 10000 строк, пользователю все равно потребуется ждать передачи всех 10 000 строк, прежде чем они действительно увидят их.

6 голосов
/ 25 сентября 2008

Расширение Ответ Уэйна : если что-то, что вы делаете, требует установки Response.Headers, вы не можете сделать это после того, как какая-либо часть Ответа была очищена.

3 голосов
/ 11 декабря 2008

Нет проблем с очисткой ответа, подобного этому. Как правило, для повышения производительности рекомендуется буферизовать всю страницу и передать ее клиенту, но для долго выполняющихся сценариев часто лучше отображать некоторые данные клиенту, чтобы пользователь увидел, что что-то происходит.

Помните, что ручная очистка имеет правильный эффект только при буферизации страницы с самого начала, в противном случае IIS автоматически выполнит сброс (передаст страницу клиенту).

Вам следует избегать частой очистки, поскольку IIS затем будет часто использовать ресурсы для очистки страницы вместо обработки сценария. Т.е.: промывайте каждые 50 строк, а не когда-либо.

2 голосов
/ 01 октября 2008

Response.flush может быть полезен для отправки в браузер заголовка отчета. Затем отобразите «сообщение о загрузке», затем ваш процесс обработки отчета и вы очистите отчет, затем выполните небольшой фрагмент JavaScript, чтобы скрыть «загрузку». сообщение.

Таким образом, вы дадите пользователям знать, что что-то происходит, поэтому они не будут нажимать STOP BACK или просто закрывать окно, так как в противном случае они могут соблазниться.

Кроме того, я много играл с тем, какой браузер отображает какую таблицу, и IE кажется единственным, который не отображает таблицу, пока не получен тег. Это означает, что все строки могут постепенно появляться в другом браузере, но не в IE.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...