Проблема с буфером в Classic ASP - PullRequest
0 голосов
/ 30 апреля 2019

У нас есть классическое приложение ASP, работающее на веб-сервере Windows Server 2012 и IIS (версия 8), и нам пришлось изменить страницу, чтобы разрешить получение большего объема данных из базы данных. Когда мы запускаем это без изменения каких-либо настроек IIS, мы получаем ошибку ниже в IE;

enter image description here

Мы попытались изменить уровень буфера на уровне сайта и уровне приложения IIS со стандартного предела 4194304 (4 МБ) до 20971520 (20 МБ), но когда мы делаем вывод, изменения в изображении ниже в IE и в Chrome постоянно спрашивают для учетных данных каждые 20 секунд или около того.

Почему это происходит? Как мы решаем, пожалуйста?

enter image description here

1 Ответ

0 голосов
/ 30 апреля 2019

Возможно, вам лучше отключить буфер с помощью Response.Buffer = False

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

Другим решением будет использование Response.Flush() для периодического очистите данные из буфера и отправьте HTML на клиентский компьютер кусками. Но полное отключение буфера сделает это за вас без необходимости Response.Flush().

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