Мировые информационные ресурсы

Работа со служебными объектами ASP.NET.

Показывать лекцию целиком

Исходные условия

Подготовленный веб-сервер согласно лабораторной работе №1.

Задание 1. Обработка HTTP-запроса

Обработка текущего HTTP-запроса и извлечение параметров HTTP-запроса.

Для работы с параметрами HTTP-запроса существует служебный объект ASP.NET, который называется HttpRequest. Для доступа к этому объекту используется текущий контекст, который представлен объектом HttpContext.

  • Для начала следует создать новое приложение ASP.NET и добавить на него элемент управления Label. Впоследствии этот элемент управления будет содержать информацию из HTTP-запроса.
  • Перейдите в режим редактирования программного кода страницы и используйте обработчик события "Page_Load" для дальнейших действий.
  • Для отображения IP-адреса клиента используйте объект HttpRequest и его свойство UserHostAddress. Результат можно отобразить в созданной метке Label.
  • Аналогичным образом можно отобразить содержимое всех заголовков HTTP-запроса. Для этого нужно построить цикл поверх объектов коллекции Headers и сохранить все значения в строковой переменной. После обработки всех элементов можно вывести результат на форму.
  • Подобным образом можно обрабатывать любые данные, которые содержаться в HTTP-запросе. Например, аналогичным образом можно обработать POST- или GET- параметры запроса, текущие параметры серверного окружения, название и параметры браузера пользователя и т.д.
  • Задание 2. Работа с HTTP-ответом

    Работа с HTTP-ответом, получение его параметров и его изменение.

    Для работы с параметрами HTTP-ответа существует служебный объект ASP.NET, который называется HttpResponse. Для доступа к этому объекту используется текущий контекст, который представлен объектом HttpContext.

  • Создайте новое приложение ASP.NET и добавьте на страницу элемент управления Label. Впоследствии этот элемент управления будет содержать информацию из HTTP-запроса.
  • Перейдите в режим редактирования программного кода страницы и используйте обработчик события "Page_Load" для дальнейших действий.
  • Например, можно отобразить на странице тип содержимого, который будет передан клиенту. Для этого необходимо использовать свойство ContentType объекта HttpResponse.
  • Также можно использовать объект HttpResponse для того, чтобы управлять заголовками HTTP-ответа. Для этого используется коллекция Headers. Для добавления нового заголовка в HTTP-ответ следует написать следующий код
  • Другим вариантом использования объекта HttpResponse является установка кода возврата при обработке HTTP-запроса. Например, если вы хотите сообщить пользователю об отсутствии ресурса следует установить статусный код 404 и прекратить дальнейшую обработку HTTP-запроса.
  • Подобным образом можно получать и изменять любые данные, которые содержаться в HTTP-ответе. Например, аналогичным образом можно устанавливать тип содержимого, записывать или фильтровать содержимое выходного потока, задавать политики кэширования HTTP-запроса и т.д.
  • Задание 3. Работа с серверным окружением

    Работа с серверным окружением используя объект HttpServerUtility.

    Для работы с серверным окружением существует служебный объект ASP.NET, который называется HttpServerUtility. Для доступа к этому объекту используется текущий контекст, который представлен объектом HttpContext и его свойство Server.

  • Создайте новое приложение ASP.NET и добавьте на страницу элемент управления Label. Впоследствии этот элемент управления будет содержать информацию из объекта HttpServerUtility.
  • Перейдите в режим редактирования программного кода страницы и используйте обработчик события "Page_Load" для дальнейших действий.
  • Обратитесь к объекту HttpServerUtility посредством свойства Server текущего контекста и выведете на страницу имя текущего компьютера.
  • Используйте объект HttpServerUtility для преобразования относительных путей в абсолютные пути в файловой системе.
  • Аналогичным образом можно использовать и другие возможности объекта HttpServerUtility. Например, кодировать и декодировать HTML, кодировать и декодировать данные для передаче в составе URL, извлекать информацию о последней ошибке и др.
  • Задание 4. Трассировка и отладка запроса

    Работа с серверным объектом Trace.

    В процессе разработки приложений, в некоторых ситуациях логика приложения может работать не так, как предполагалось. Поэтому в ряде случаев возникает потребность в дополнительных средствах отладки. Для этих целей используется объект TraceContext, который доступен в рамках текущего контекста запроса через свойство Trace.

  • Создайте новое приложение ASP.NET и добавьте на страницу элемент управления Label. Впоследствии этот элемент управления будет содержать информацию из объекта HttpServerUtility.
  • Перейдите в режим редактирования программного кода страницы и используйте обработчик события "Page_Load" для написания кода.
  • Обратитесь к объекту TraceContext с целью выяснения, включена ли трассировка в данный момент.
  • Если трассировка не включена, то ее следует включить. Для этого необходимо перейти в режим разметки страницы и установить свойство Trace в значение "True".
  • При обращении к странице со включенной трассировкой на странице появится отладочная информация.
  • Можно использовать объект TraceContext для отслеживания работы приложения. Для этого используются методы Write и Warn. Каждый из этих методов позволяет сделать запись в журнале трассировки. Их отличие состоит только в том, что Warn выделяет запись красным шрифтом.
  • После обращения к странице, на которой используется трассировка подобным образом, в журнале трассировки появится соответствующая запись.
  • Вернуться к учебному плану