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

Работа с файлом приложения и глобальными событиями приложения

< Самостоятельная работа 4 || Самостоятельная работа 5 || Лекция 4 >
Аннотация: Цель работы: получение базовых навыков по созданию файла приложения ASP.NET и обработке глобальных событий.
Ключевые слова: веб-сервер

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

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

Задание 1. Создание файла приложения

Создание и работа с файлом приложения.

  1. Создайте новое приложение ASP.NET с помощью Visual Studio.
  2. Для добавления в проект файла приложения используйте контекстное меню проекта в окне "Solution Explorer". В контекстном меню следует выбрать пункт "Add - New Item".

  3. В появившемся окне необходимо выбрать шаблон "Global Application Class". Файл при этом будет называться "Global.asax".
  4. В новом файле создайте обработчик события BeginRequest. Для этого необходимо создать новый метод, имя которого соответствует этому событию. В данном случае метод должен называться "Application_BeginRequest". Кроме того, этот метод должен иметь два параметра - типа object и EventArgs. Внутри метода напишем код, добавляющий к каждому ответу строку. Для вывода строки должен использоваться объект HttpResponse, который доступен через свойство Response текущего контекста (HttpContext.Current).

  5. При запуске приложения и обращения к любой странице к результату будет добавляться тестовая строка.
  6. Аналогичным образом можно определять и другие глобальные обработчики событий.

Задание 2. Обработка событий запуска и завершения работы приложения

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

  1. Создайте новое приложение ASP.NET с помощью Visual Studio.
  2. Добавьте в проект файл приложения "Global.asax".
  3. Добавьте в класс приложения обработчик события запуска приложения. В этом случае метод должен называться "Application_Start" и иметь два аргумента. Этот метод будет запускаться всякий раз, когда создается новый домен приложения для обработки запросов.

  4. Поскольку контекст приложения недоступен при обработке события запуска приложения, мы будем сохранять в файл информацию о событии запуска приложения. Для записи в файл можно воспользоваться классом File из пространства имен "System.IO".

  5. При запуске приложения, содержащего этот код будет сгенерирована ошибка, поскольку не был указан путь до файла "log.txt". Для того, чтобы не привязывать приложение к абсолютным путям, можно воспользоваться методом MapPath и преобразовать относительные пути в абсолютные.

  6. При запуске приложения будет создан файл "log.txt" и туда будет записываться время запуска приложения.
  7. Аналогичным образом можно создать обработчик для события завершения приложения. В этом случае метод должен называться "Application_End" и иметь также два параметра. Пусть этот обработчик также сохраняет время завершения приложения в файл.

  8. Теперь при запуске и завершении приложения в файл "log.txt" будет записываться время этих событий.

Задание 3. Обработка событий начала и окончания сессии

Работа с событиями начала и окончания сессии.

  1. Создайте новое приложение ASP.NET с помощью Visual Studio.
  2. Добавьте в проект файл приложения "Global.asax".
  3. Добавьте в класс приложения обработчик события начала сессии. В этом случае метод должен называться "Session_Start" и иметь два аргумента. Этот метод будет запускаться всякий раз, когда создается новая сессия для пользователя.

  4. В момент создания новой сессии доступен текущий контекст обработки запроса. Поэтому мы будем отображать сообщение о создании новой сессии пользователю в текущем HTTP-ответе. Для этого следует воспользоваться текущим контекстом (HttpContext.Current) и объектом Response.

  5. При запуске приложения и создании новой сессии пользователю будет отображаться соответствующее уведомление.
  6. Для обработки события уничтожения сессии используется аналогичный подход. Однако, в этом случае обработчик будет иметь имя "Session_End". Однако, в этот момент текущий контекст недоступен. Поэтому уведомление можно записать в файл.

  7. Теперь при создании и удалении сессии будут срабатывать соответствующие обработчики, и мы сможем контролировать этот процесс.

Задание 4. Обработка ошибок

Обработка ошибок, возникающих в приложении.

  1. Создайте новое приложение ASP.NET с помощью Visual Studio.
  2. Добавьте в проект файл приложения "Global.asax".
  3. Добавьте в класс приложения обработчик ошибок. В этом случае метод должен называться "Application_Error" и иметь два аргумента. Этот метод будет запускаться всякий раз, когда в приложении происходит ошибка.

  4. В процессе обработки события можно выполнить различные действия. Например, можно сохранить информацию о произошедшей ошибке в файле или журнале Windows. Информацию о текущей ошибке можно получить из свойства Error текущего контекста. Для записи в файл следует преобразовать относительный путь к файлу в абсолютный. Для этого нужно использовать метод "MapPath".

  5. Теперь при возникновении ошибки в приложении будет запускаться обработчик и сохранять информацию об ошибках в специальном файле.
  6. Для имитации возникновения ошибки можно перейти к редактированию страницы и в обработчике загрузки страницы сгенерировать ошибку.

< Самостоятельная работа 4 || Самостоятельная работа 5 || Лекция 4 >
Марина Воробьева
Марина Воробьева
Виктория Ткаченко
Виктория Ткаченко

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

Андрей Коробейников
Андрей Коробейников
Россия, Новосибирск, Сибирский государственный университет телекоммуникаций и информатики, 1999
Вадим Трунов
Вадим Трунов
Россия