Опубликован: 30.01.2013 | Доступ: свободный | Студентов: 1291 / 162 | Длительность: 17:23:00
Теги: .net, ajax, asp, www, интранет
Самостоятельная работа 2:

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

< Лекция 3 || Самостоятельная работа 2 || Самостоятельная работа 3 >
Аннотация: Цель работы: получение базовых навыков по работе со служебными объектами ASP.NET.
Ключевые слова: веб-сервер, объект, ASP, net, контекст

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

Подготовленный веб-сервер согласно "Подготовка среды исполнения веб-приложений на платформе Microsoft ASP.NET." .

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

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

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

  1. Для начала следует создать новое приложение ASP.NET и добавить на него элемент управления Label. Впоследствии этот элемент управления будет содержать информацию из HTTP-запроса.
  2. Перейдите в режим редактирования программного кода страницы и используйте обработчик события "Page_Load" для дальнейших действий.

  3. Для отображения IP-адреса клиента используйте объект HttpRequest и его свойство UserHostAddress. Результат можно отобразить в созданной метке Label.

  4. Аналогичным образом можно отобразить содержимое всех заголовков HTTP-запроса. Для этого нужно построить цикл поверх объектов коллекции Headers и сохранить все значения в строковой переменной. После обработки всех элементов можно вывести результат на форму.

  5. Подобным образом можно обрабатывать любые данные, которые содержаться в HTTP-запросе. Например, аналогичным образом можно обработать POST- или GET- параметры запроса, текущие параметры серверного окружения, название и параметры браузера пользователя и т.д.

Задание 2. Работа с HTTP-ответом

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

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

  1. Создайте новое приложение ASP.NET и добавьте на страницу элемент управления Label. Впоследствии этот элемент управления будет содержать информацию из HTTP-запроса.
  2. Перейдите в режим редактирования программного кода страницы и используйте обработчик события "Page_Load" для дальнейших действий.

  3. Например, можно отобразить на странице тип содержимого, который будет передан клиенту. Для этого необходимо использовать свойство ContentType объекта HttpResponse.

  4. Также можно использовать объект HttpResponse для того, чтобы управлять заголовками HTTP-ответа. Для этого используется коллекция Headers. Для добавления нового заголовка в HTTP-ответ следует написать следующий код

  5. Другим вариантом использования объекта HttpResponse является установка кода возврата при обработке HTTP-запроса. Например, если вы хотите сообщить пользователю об отсутствии ресурса следует установить статусный код 404 и прекратить дальнейшую обработку HTTP-запроса.

  6. Подобным образом можно получать и изменять любые данные, которые содержаться в HTTP-ответе. Например, аналогичным образом можно устанавливать тип содержимого, записывать или фильтровать содержимое выходного потока, задавать политики кэширования HTTP-запроса и т.д.

Задание 3. Работа с серверным окружением

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

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

  1. Создайте новое приложение ASP.NET и добавьте на страницу элемент управления Label. Впоследствии этот элемент управления будет содержать информацию из объекта HttpServerUtility.
  2. Перейдите в режим редактирования программного кода страницы и используйте обработчик события "Page_Load" для дальнейших действий.

  3. Обратитесь к объекту HttpServerUtility посредством свойства Server текущего контекста и выведете на страницу имя текущего компьютера.

  4. Используйте объект HttpServerUtility для преобразования относительных путей в абсолютные пути в файловой системе.

  5. Аналогичным образом можно использовать и другие возможности объекта HttpServerUtility. Например, кодировать и декодировать HTML, кодировать и декодировать данные для передаче в составе URL, извлекать информацию о последней ошибке и др.

Задание 4. Трассировка и отладка запроса

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

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

  1. Создайте новое приложение ASP.NET и добавьте на страницу элемент управления Label. Впоследствии этот элемент управления будет содержать информацию из объекта HttpServerUtility.
  2. Перейдите в режим редактирования программного кода страницы и используйте обработчик события "Page_Load" для написания кода.

  3. Обратитесь к объекту TraceContext с целью выяснения, включена ли трассировка в данный момент.

  4. Если трассировка не включена, то ее следует включить. Для этого необходимо перейти в режим разметки страницы и установить свойство Trace в значение "True".

  5. При обращении к странице со включенной трассировкой на странице появится отладочная информация.
  6. Можно использовать объект TraceContext для отслеживания работы приложения. Для этого используются методы Write и Warn. Каждый из этих методов позволяет сделать запись в журнале трассировки. Их отличие состоит только в том, что Warn выделяет запись красным шрифтом.

  7. После обращения к странице, на которой используется трассировка подобным образом, в журнале трассировки появится соответствующая запись.
< Лекция 3 || Самостоятельная работа 2 || Самостоятельная работа 3 >
Марина Воробьева
Марина Воробьева
Виктория Ткаченко
Виктория Ткаченко

Проигрыватель не работает. После нажатия кнопки Play ничего не происходит.