Дуже поширеною помилкою у світі ASP є: заголовки HTTP вже записані в браузер клієнта. Будь-які зміни HTTP-заголовка повинні бути внесені перед написанням вмісту сторінки. Фактичний блок помилок має тенденцію виглядати так:

Помилка об’єкта відповіді 'ASP 0156: 80004005
Помилка заголовка
/index.asp, рядок 22
Заголовки HTTP вже записані в браузер клієнта. Будь-які зміни HTTP-заголовка повинні бути внесені перед написанням вмісту сторінки.

По-перше, що викликає цю помилку? Це саме те, що говориться. Ви вже написали заголовки HTTP - наприклад, команди HTML або HEAD або BODY. Тепер ви намагаєтеся зробити щось інше - ймовірно, команду response.redirect. Ви не можете перейти на нову сторінку в середині написання старої сторінки.

Перша, найімовірніша, ситуація - це те, що ви дійсно щось написали, а потім спробуйте відповісти. Якщо ви хочете перейти на нову сторінку, виконайте процес прийняття рішення, перш ніж ви починаєте щось писати на екран. Не можна просто проскочити на півдорозі через малювання сторінки. Зробіть обробку, вирішіть, чи потрібно вам десь інше, та йдіть, якщо вам доведеться. Якщо ні, намалюйте сторінку, на якій ви зараз перебуваєте. Ви можете дізнатися більше про використання Response.Redirect для зміни сторінок

Друга найпоширеніша причина цього - це те, що ви обдурили кнопки в IIS. Якщо ви зайшли в домашній каталог - конфігурація - параметри додатка, є прапорець під назвою "Увімкнути буферизацію". Це за замовчуванням має бути УВІМКНЕНО. Коли це ввімкнено, це означає, що ваш ASP процес зберігає те, над чим він працює, до кінця, а потім надсилає користувачеві повну сторінку. Це ефективний спосіб поводження з ASP.

Однак, якщо вимкніть цей прапорець, ви не можете просто зателефонувати команді response.redirect, щоб перейти на нову сторінку. Ви повинні почати вручну вирішувати проблеми буферизації. Якщо ви дійсно хочете потрапити в цей безлад, не забудьте прочитати про те, як працює буферизація в ASP.

Просте рішення:

* Завжди залишайте прапорець Enable Buffering (Увімкнено)
* Завжди використовуйте response.redirect перед тим, як виписати будь-який HTML.

Вступ до ASP Ebook

Завантажте цю книгу, щоб отримати все, що вам потрібно знати про вивчення ASP - від покрокового підручника до списку функцій, зразкового коду, поширених помилок та рішень та багато іншого! 101 сторінка.

Відео Інструкція: Technology Stacks - Computer Science for Business Leaders 2016 (Може 2024).