Рекомендуется: используйте ASP для создания частной поисковой системы Многие энтузиасты Интернета заставляют свои мозги, чтобы сделать функции своего веб -сайта более полным при создании своей личной домашней страницы. Здесь автор представляет метод использования ASP для создания собственной поисковой системы. Основная идея состоит в том, чтобы использовать формы для хранения ключевых слов поиска, представленных пользователями в переменных.
7.5.1. Общая технология отладкиВ главе 2 вы видели, как использовать метод ответа. Перепись и коллекция запросов для отображения содержимого коллекции. Если код хочет использовать значение из запроса, первое, что нужно сделать, это убедиться, что необходимое значение существует. Простая проблема заключается в том, что имя управления HTML на веб -странице <Form> неправильно или изменено, или неверный клиент появляется при создании строки запроса, прикрепленной к URL.
1. Отображение различных содержимого коллекции
Когда программа пытается работать с предоставленным пользователем значением, она может не получить желаемый результат, или ничего не получено. Помните, что использование request.form (thisControl) не вызывает ошибки, когда вы ссылаетесь на значение, которое не существует в коллекции объектов запроса (например, если у вас нет элемента управления, названного этого контроля в форме.
Если вы создаете страницу для отображения содержимого всех коллекций объектов запроса, содержимого объектов сеанса и приложений и коллекций StaticContens, вы можете получить доступ к ним с помощью Server.execute. Работа должна быть выполнена, чтобы добавить следующую программную строку на веб -страницу ASP, чтобы отобразить весь содержимое коллекции. Конечно, в соответствии с местоположением, где файл хранится на сервере, соответствующий путь должен быть установлен для файла.
< % Server.execute /path_to_file/debug_request.asp %>
Это отличный способ гарантировать, что любое значение, которое мы хотим найти в запросе, сеансе и коллекциях приложений, существуют и содержат соответствующее значение. Соответствующий файл приведен в примере файла главы07 подкаталог этой книги с именем debug_request.asp. Это в основном комбинация веб -страницы Show_request.asp для главы 2 и веб -страниц Show_application.asp и Show_session.asp для главы 3, но удаляет некоторый код программы HTML. Это просто итерация над коллекцией и помещает значения в текущую страницу.
Эта страница можно просмотреть с помощью экземпляра «Пользовательская страница ошибки». Этот пример был замечен ранее в этой главе. При его открытии, пожалуйста, выберите флажок «Дисплей отладки» или откройте его непосредственно на веб -странице главного меню в каталоге главы07.
2. Показать промежуточные значения
Второй способ просмотреть ситуацию на веб -странице - отобразить значение переменной при запуске веб -страницы. Эта традиционная технология не может быть отброшена, когда вы примерно знаете, откуда поступает ошибка, а какая переменная работает. Однако из -за изменений в методе буферизации веб -буферизации IIS 5.0 трудно использовать эту технологию.
В предыдущих версиях ASP и IIS Page Buffering был отключен по умолчанию, и почти никто не думал о включении буфера (Open с ответом. Buffer = true), если только они не хотели использовать ответ. REDIRECT для завершения перенаправления веб -страницы (см. Главу 2). При ответе на несколько запросов буферизация уменьшает количество переключения между веб -страницами, тем самым повышая эффективность IIS.
Однако, когда возникает ошибка времени выполнения, которая останавливает запуск, IIS автоматически вызывает метод ответа. CLEAR, а затем вызывает Server.Execute для загрузки страницы пользовательской ошибки, поэтому любой вывод, записанный на веб-страницу, потерян. Решение состоит в том, чтобы временно добавить следующую строку программы:
< % Response.buffer = false %>
Эта строка программы размещена в верхней части страницы после директивы <@language ...>, и любой вывод отладки, сгенерированный оператором response.write, появится в верхней части страницы ошибки. Не забудьте удалить его после того, как вы закончите отладку веб -страницы.
Этот метод иногда полезен для того, чтобы заставить программу пройти через точку ошибки, а затем отображать подозрительные значения переменных. Просто добавьте оператор RESUME ERROR RESUME NEXT возле начала веб -страницы, а затем вы можете получить доступ к объекту ER (в VBSCRICT) и отобразить номер ошибки, источник ошибки и описание.
3. Проверьте значения атрибута компонента
Если используемый компонент обладает свойствами, установленными в коде скрипта ASP, после завершения настройки, а также до и после вызова метода компонента, ошибку можно отслеживать путем отображения всех свойств (или просто подозрительных свойств). Когда метод запускается, можно обнаружить, что значение свойства было случайно изменено компонентом, возможно, преднамеренным или из -за дефекта в компоненте. Не делайте никаких предположений, не проверяя фактический код самостоятельно.
7.5.2 Отладчик сценариев Microsoft
При разработке более сложных приложений, которые обрабатывают реальные задачи, для отладки часто требуется более мощный инструмент. Debugger Microsoft Script - это инструмент отладки, который позволяет отладки сценариям, работающим на клиентах и серверах. Его можно использовать для любого языка сценариев с поддержкой ActiveX (включая VBScript и JScript), а также может использоваться для отладки вызовов в апплеты Java, бобы Java и компоненты ActiveX.
Перед изучением этого инструмента кратко объясните некоторые проблемы. Как упоминалось ранее, приложение ASP состоит из двух типов сценариев, один из них является клиентским скриптом, а другой - сценарий сервера. Клиентские скрипты обычно состоят из операторов сценариев VBScript или JScript, которые появляются на странице HTML, когда они прибывают к клиенту и выполняются там, возможно, когда документ загружен или в ответ на некоторые события. Скрипты на стороне сервера обычно также составляются из операторов VBScript или JScript. Когда браузер запрашивает веб-страницу, сценарий на стороне сервера выполняется IIS. В следующем обсуждении будет обсуждаться метод отладки скрипта на стороне сервера. Тем не менее, многие из обсуждаемых методов также могут использоваться для отладки сценария клиента.
1. Отладка на стороне сервера
Для отладки сценариев на стороне сервера запустите отладчик сценария на компьютере, работающий с IIS, однако отладка должна быть включена перед использованием отладчика сценария. Чтобы оптимизировать производительность, приложения на основе ASP по умолчанию выключают отладку.
Будьте осторожны, чтобы не включать отладку по продуктивным приложениям (то есть на общественных веб -сайтах, которые активны и используются другими). Это замедлит все приложение, и ошибки могут привести к неопределенному запуску веб -страницы.
Отладка может быть установлена только для виртуальных приложений и всего веб -сайта. Чтобы включить отладку, откройте диалоговое окно «Свойства» приложения или сайта, на вкладке Home Directory нажмите кнопку «Конфигурация», на вкладке отладки приложения в диалоговом окне «Конфигурация приложения», выберите «Отладка скрипта на стороне сервера ASP» и подготовьтесь к отладке нашего приложения ниже.
Примечание. Диалоговое окно «Конфигурация приложения» содержит флажок, который включает отладку сценария клиента. Это не реализовано в IIS 5.0 и помечено только зарезервированным для будущего использования в документации. Если обычная страница 500-100.ASP пользовательская ошибка недоступна, раздел сообщений об ошибках сценария содержит текст.
(1) Скрипты обработки серверов
В отличие от клиентских сценариев, сценарии приложений на основе ASP не управляются событиями. Когда клиент запрашивает веб -страницу с сервера, сервер считывает содержимое веб -страницы и обрабатывает все скрипты серверов (то есть все в <%...%> и <script runat = server> </script> segments), а также содержимое сегмента встроенного сценария в тексте HTML, например:
Клапан результата: < % = strresult %>
Диаграмма дисплея процесса
Когда IIS загружает веб -страницу, будут обработаны все сценарии на странице ASP. Перед тем, как какой -либо вывод отправляется клиенту, двигатель ASP и Script может застрять синтаксис и ошибки времени выполнения (если вы не выключите буферизацию или вызовите метод response.flush).
(2) Помощь, предоставленная отладчиком сценария
При включении отладки скрипта, если возникает ошибка, вы можете увидеть диалоговое окно, описывающее ошибку кода ASP на экране сервера. Нажмите OK, а затем позвоните в копию только для чтения текущей веб-страницы ASP. Отладчик сценария открыт. Линия, которая появляется в ошибке, обозначена стрелкой.
Здесь ошибка возникает из -за ошибки имени метода объекта Страницы, который должен быть PageHit вместо допагерита. В то же время, отладчик скрипта нашел ошибку и прекратил работу страницы. Кнопки на панели инструментов используются для продолжения программы, запуска программы с одним шагом или прекращения работы страницы.
Кнопка справа от панели инструментов открывает непосредственное окно в отладчике сценария, который можно использовать для взаимодействия с страницей, и, вероятно, он найдет место, где возникает ошибка. Например, значения переменных или свойства компонентов могут быть запрошены или устанавливаются, внутренние функции и подпрограммы, пользовательские функции и подпрограммы, а также методы объектов, которые были созданы и т. Д. На рисунке вызывается метод PageHIT компонента счетчика страницы, и затем свойство HITS запрашивается, чтобы получить значение в этой точке в запущенном сценарии.
Чтобы понять, почему отладчики сценариев не следует использовать на общедоступных веб-сайтах, вы можете открыть страницу, содержащую ошибки на стороне сервера от клиента. В этом случае на сервере отображается диалоговое окно сообщения об ошибке, а на сервере также открывается отладчик скрипта. На клиенте страница не загружается до тех пор, пока отладчик сценария, работающий на сервере, не будет закрыт.
(3) Запустите и используйте отладчик
После включения отладки скрипта отладчик скрипта автоматически произойдет, когда на веб -странице виртуального приложения возникает ошибка.
Поделиться: ASP Пример: производство словных игр Это игра о кодировании слова, написанная в ASP, VBScript и JavaScript. Никаких серьезных проблем не было обнаружено под тестированием в рамках Win98 OEM2, PWS и IE5. Метод использования: Метод 1: Например, каталог вашей службы 3W - C: inetPubwwroot.