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

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

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

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

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

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

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

  • Создайте новое приложение ASP.NET с помощью Visual Studio.
  • Для добавления в проект файла приложения используйте контекстное меню проекта в окне "Solution Explorer". В контекстном меню следует выбрать пункт "Add - New Item".
  • В появившемся окне необходимо выбрать шаблон "Global Application Class". Файл при этом будет называться "Global.asax".
  • В новом файле создайте обработчик события BeginRequest. Для этого необходимо создать новый метод, имя которого соответствует этому событию. В данном случае метод должен называться "Application_BeginRequest". Кроме того, этот метод должен иметь два параметра - типа object и EventArgs. Внутри метода напишем код, добавляющий к каждому ответу строку. Для вывода строки должен использоваться объект HttpResponse, который доступен через свойство Response текущего контекста (HttpContext.Current).
  • При запуске приложения и обращения к любой странице к результату будет добавляться тестовая строка.
  • Аналогичным образом можно определять и другие глобальные обработчики событий.
  • Задание 2. Обработка событий запуска и завершения работы приложения

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

  • Создайте новое приложение ASP.NET с помощью Visual Studio.
  • Добавьте в проект файл приложения "Global.asax".
  • Добавьте в класс приложения обработчик события запуска приложения. В этом случае метод должен называться "Application_Start" и иметь два аргумента. Этот метод будет запускаться всякий раз, когда создается новый домен приложения для обработки запросов.
  • Поскольку контекст приложения недоступен при обработке события запуска приложения, мы будем сохранять в файл информацию о событии запуска приложения. Для записи в файл можно воспользоваться классом File из пространства имен "System.IO".
  • При запуске приложения, содержащего этот код будет сгенерирована ошибка, поскольку не был указан путь до файла "log.txt". Для того, чтобы не привязывать приложение к абсолютным путям, можно воспользоваться методом MapPath и преобразовать относительные пути в абсолютные.
  • При запуске приложения будет создан файл "log.txt" и туда будет записываться время запуска приложения.
  • Аналогичным образом можно создать обработчик для события завершения приложения. В этом случае метод должен называться "Application_End" и иметь также два параметра. Пусть этот обработчик также сохраняет время завершения приложения в файл.
  • Теперь при запуске и завершении приложения в файл "log.txt" будет записываться время этих событий.
  • Задание 3. Обработка событий начала и окончания сессии

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

  • Создайте новое приложение ASP.NET с помощью Visual Studio.
  • Добавьте в проект файл приложения "Global.asax".
  • Добавьте в класс приложения обработчик события начала сессии. В этом случае метод должен называться "Session_Start" и иметь два аргумента. Этот метод будет запускаться всякий раз, когда создается новая сессия для пользователя.
  • В момент создания новой сессии доступен текущий контекст обработки запроса. Поэтому мы будем отображать сообщение о создании новой сессии пользователю в текущем HTTP-ответе. Для этого следует воспользоваться текущим контекстом (HttpContext.Current) и объектом Response.
  • При запуске приложения и создании новой сессии пользователю будет отображаться соответствующее уведомление.
  • Для обработки события уничтожения сессии используется аналогичный подход. Однако, в этом случае обработчик будет иметь имя "Session_End". Однако, в этот момент текущий контекст недоступен. Поэтому уведомление можно записать в файл.
  • Теперь при создании и удалении сессии будут срабатывать соответствующие обработчики, и мы сможем контролировать этот процесс.
  • Задание 4. Обработка ошибок

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

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