Як відключити буферизацію

Як відключити буферизацію

Іноді для виведення web-сторінки використовується буферизація, що дозволяє мінімізувати число спроб вивести HTML або дані з коду на ASP-сторінках в клієнтському браузере і збільшити тим самим загальну продуктивність. TCP / IP сконструйований таким чином, що клієнту відправляти дані ефективніше великими блоками.

Вам знадобиться

-HTML-редактор.

Інструкція

  1. Сторінка стає більш повільною через буферизації — від того, що відправляється користувачам тільки після остаточного формування. Тому для станиць, які генеруються скриптами дуже довго, можна відключати буферизацію або повністю, або частково.
  2. Використовуйте команду Response.Buffer = False для повного відключення буферизації. Цей метод дозволить висилати дані користувачеві відразу.
  3. Використовуйте метод Response.Flush. Для часткового відключення буферизації знадобиться більш складний алгоритм дій, проте вона видається більш кращою. Для неї використовується метод Response.Flush, яким клієнтові відправляється весь HTML, що накопичився в буфері.
  4. Приміром, після згенерованої першої сотні рядків таблиці, що має загальний розмір у тисячу рядків, ASP-скріптии викликають Response.Flush для того, щоб відправити першу порцію сторінки клієнтському браузеру. Такий підхід дозволяє користувачеві бачити цю першу сотню рядків ще до тих пір, як буде готова вся таблиця. Більше того, є можливість і далі в ході генерування нового рядка відправити її клієнтові такими ж частинами.
  5. Подібна робота з буфером є найбільш оптимальною, їй досягається відчутний приріст рівня продуктивності і можливість завантажувати розраховуються протягом тривалого терміну сторінки поетапно, не примушуючи відвідувачів ресурсу до довгого очікування завантаження перед чистим вікном браузера.
  6. Розбийте сторінку на складові елементи. Важливо пам’ятати, що деякими браузерами не підтримується відображення частин таблиці — вони будуть чекати її закриття. У такому випадку потрібно імітувати таке закриття — наприклад, об’ємну таблицю можна розбити по сто рядків, як описано вище. У такому випадку після того, як буде згенеровано чергова суб-таблиця, її можна відправляти користувачам за допомогою методу Response.Flush.
  7. Застосуйте метод Flush. У деяких випадках можлива ситуація, коли технологія часткового відключення буферизації витрачає високі обсяги пам’яті сервера в зоні генерування дуже великих сторінок. Без використання методу Flush не вдасться забезпечити вірне використання цієї технології і уникнути небажаного перевитрати системного ресурсу. Недоліком методу є той факт, що для вірного зображення у користувача таблиці на екрані необхідно забезпечувати створення стовпців однакової ширини в кожній з суб-таблиць.

Зверніть увагу

Багато браузери не відображають ділянку таблиці без тега TABLE.