Опубликован: 30.01.2013 | Доступ: свободный | Студентов: 1292 / 162 | Длительность: 17:23:00
Специальности: Программист, Разработчик интернет-проектов
Теги:
Самостоятельная работа 5:
Работа с файлом приложения и глобальными событиями приложения
< Самостоятельная работа 4 || Самостоятельная работа 5 || Лекция 4 >
Аннотация: Цель работы: получение базовых навыков по созданию файла приложения ASP.NET и обработке глобальных событий.
Ключевые слова: веб-сервер
Исходные условия
Подготовленный веб-сервер согласно "Подготовка среды исполнения веб-приложений на платформе Microsoft ASP.NET." .
Задание 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".
- Теперь при возникновении ошибки в приложении будет запускаться обработчик и сохранять информацию об ошибках в специальном файле.
- Для имитации возникновения ошибки можно перейти к редактированию страницы и в обработчике загрузки страницы сгенерировать ошибку.
< Самостоятельная работа 4 || Самостоятельная работа 5 || Лекция 4 >