Роль файла Global.asax

Роль файла Global.asax

К этому моменту у вас может сложиться впечатление, что приложение ASP.NET представляет собой простой набор файлов *.аsрх и соответствующих Web-элементов управления. И хотя вы можете построить Web-приложение с помощью простого связывания нескольких Web-страниц, вам, скорее всего, хотелось бы иметь возможность взаимодействия с Web-приложением, как с чем-то цельным. Для этого в Web-приложение ASP.NET можно включить необязательный файл Global.asax, выбрав WebSite?Add New Item из меню (рис. 24.2).

Рис. 24.2. Добавление файла Global.asax

В некотором смысле файл Global.asax в ASP.NET аналогичен традиционному файлу *.exe, поскольку представляет поведение Web-узла в среде выполнения. После добавления файла Global.asax в Web-проект вы обнаружите, что этот файл на самом деле представляет собой блок ‹script›, содержащий набор обработчиков событий.

‹%@ Application Language="C#" %›

‹script runat="server"›

void Application_Start(Object sender, EventArgs e) {

 // Код, выполняемый при запуске приложения.

}

void Application_End(Object sender, EventArgs e) {

 // Код, выполняемый при завершении приложения.

}

void Applicatioт_Error(Object sender, EventArgs e) {

 // Код, выполняемый при появлении необработанной ошибки.

}

void Session_Start(Object sender, EventArgs e) {

 // Код, выполняемый при открытии нового сеанса.

}

void Session_End(Object sender, EventArgs e) {

 // Код, выполняемый при завершении сеанса.

}

‹/script›

Однако первое впечатление может оказаться обманчивым. В среде выполнении программный код этого блока ‹script› преобразуется в тип класса, получающийся из System.Web.HttpApplication. Если вы имеете опыт работы с ASP.NET 1.х, то вы, наверное, вспомните, что там файл с внешним кодом поддержки для Global.asax буквально определял класс, получающийся из HttpApplication.

Как уже было сказано, члены, определённые в Global.asax, содержатся в обработчиках событий, позволяющих взаимодействовать с событиями на уровне приложения (а также сеанса). Описания этих членов предлагаются в табл. 24.1.

Таблица 24.1. Обработчики событий Global.asax

Обработчик события Описание
Аррlication_Start() Вызывается только при запуске Web-приложения, поэтому генерируется только один раз за все время выполнения Web-приложения. Является идеальным местом для определения данных уровня приложения, доступных в любой точке Web-приложения
Application_End() Вызывается при завершении работы приложения, например, вследствие превышения времени ожидания для последнего пользователя или при завершении работы приложения вручную с помощью IIS
Session_Start() Вызывается при регистрации нового пользователя в приложении. Здесь можно установить параметры, связанные с конкретным пользователем
Session_End() Вызывается при завершении сеанса пользователя (обычно в результате превышения установленного времени ожидания)
Application_Error() Глобальный обработчик ошибок, который вызывается тогда, когда Web-приложение генерирует необработанное исключение 
Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

4 РОЛЬ РУКОВОДИТЕЛЕЙ

Из книги ИНФОРМАЦИОННАЯ ТЕХНОЛОГИЯ. РУКОВОДСТВО ПО УПРАВЛЕНИЮ ДОКУМЕНТИРОВАНИЕМ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ автора Автор неизвестен

4 РОЛЬ РУКОВОДИТЕЛЕЙ Руководители принимают на себя организацию работ по документированию и осуществляют поддержку этих работ в стратегиях, стандартах, процедурах, распределении ресурсов и планах, которыми они определяются.Эффективность выполнения руководящей роли


Кому принадлежит доменное имя (вкладки General > Global Whois)

Из книги Интернет-разведка [Руководство к действию] автора Ющук Евгений Леонидович

Кому принадлежит доменное имя (вкладки General > Global Whois) В принципе, эту информацию можно получить на многих сайтах, которые занимаются регистрацией доменных имен. Или, как вариант, на ресурсах, обращающихся к так называемой службе WHOIS. Например, по адресу: http://www.vline.ru/.Однако,


Роль атрибутов CIL

Из книги Язык программирования С# 2005 и платформа .NET 2.0. [3-е издание] автора Троелсен Эндрю

Роль атрибутов CIL Во многих случаях директивы CIL сами по себе оказываются недостаточно информативными, чтобы дать исчерпывающее определение соответствующего типа .NET или его члена. Поэтому многие директивы CIL сопровождаются различными атрибутами CIL, сообщающими о том,


Роль DataSet

Из книги Цифровой журнал «Компьютерра» № 4 [19.01.2010-26.01.2010] автора Журнал «Компьютерра»

Роль DataSet Упрощенно говоря, DataSet является представлением внешних данных в памяти. Более точно, DataSet представляет собой тип класса, поддерживающий три внутренние строго типизованные коллекции (рис. 22.11). Рис. 22.11. "Анатомия" DataSetСвойство Tables объекта DataSet позволяет получить


Global Mobile Awards 2010: забавные номинанты Алексей Стародымов

Из книги Основы объектно-ориентированного программирования автора Мейер Бертран

Global Mobile Awards 2010: забавные номинанты Алексей Стародымов Не знаю, как уважаемые читатели, а я уже давно не реагирую на мероприятия «соревновательного» типа, в ходе которых участникам присуждаются какие-либо премии. Бытует мнение, что в наше время ничего за просто так на


Роль классов

Из книги Системное программирование в среде Windows автора Харт Джонсон М

Роль классов Затратив немного времени на устранение абсурдных, но распространенных и вредных заблуждений, можно вернуться к рассмотрению центральных свойств классов и выяснить, в частности, почему они столь важны в объектной технологии.Для понимания ОО-подхода


Установка размера файла, инициализация файла и разреженные файлы

Из книги C++. Сборник рецептов автора Диггинс Кристофер

Установка размера файла, инициализация файла и разреженные файлы Функция SetEndOfFile позволяет переустановить размер файла, используя текущее значение указателя файла для определения его размера. Возможно как расширение, так и усечение файла. В случае расширения файла


Как привлекать инвестиции в стартап Лев Самсонов, директор по развитию Global TechInnovations

Из книги Цифровой журнал «Компьютерра» № 161 автора Журнал «Компьютерра»

Как привлекать инвестиции в стартап Лев Самсонов, директор по развитию Global TechInnovations Опубликовано 06 февраля 2013 Необходимость привлечения внешних денежных ресурсов в свой проект так или иначе возникает у большинства начинающих предпринимателей.


Почему стартаперам не нужно сразу бежать за инвестициями в Sequoia Игорь Балк, управляющий директор Global Innovation Labs

Из книги Цифровой журнал «Компьютерра» № 163 автора Журнал «Компьютерра»

Почему стартаперам не нужно сразу бежать за инвестициями в Sequoia Игорь Балк, управляющий директор Global Innovation Labs Опубликовано 18 февраля 2013В России государство пытается внедрять механизмы «инновационных лифтов». В теории каждый из инновационных проектов должен проезжать


Венчурные инвестиции для стартапа без продаж и платящих клиентов? Вполне возможно Лев Самсонов, директор по развитию Global TechInnovations.

Из книги Цифровой журнал «Компьютерра» № 166 автора Журнал «Компьютерра»

Венчурные инвестиции для стартапа без продаж и платящих клиентов? Вполне возможно Лев Самсонов, директор по развитию Global TechInnovations. Опубликовано 05 марта 2013Привлечь венчурные деньги, не имея продаж и платящих клиентов, — возможно ли это? Этот вопрос волнует многих


Почему основателям не стоит «бояться» впускать в свой стартап менторов Лев Самсонов, директор по развитию Global TechInnovations

Из книги Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ автора Борри Хелен

Почему основателям не стоит «бояться» впускать в свой стартап менторов Лев Самсонов, директор по развитию Global TechInnovations Опубликовано 28 марта 2013 Подход к вложению средств в технологические стартапы западных инвесторов, конечно, сильно отличается о


Роль сервера

Из книги Введение в QNX/Neutrino 2. Руководство по программированию приложений реального времени в QNX Realtime Platform автора Кёртен Роб

Роль сервера Работа сервера включает:* управление хранением данных базы данных и выделение дискового пространства;* управление всеми транзакциями, запущенными клиентами, гарантирование, что каждая получит и сохранит непротиворечивый образ постоянно хранимых данных,


Роль ядра

Из книги HTML, XHTML и CSS на 100% автора Квинт Игорь

Роль ядра Наша аналогия с процессами в жилом доме прекрасна для объяснения концепций синхронизации, но бесполезна при анализе одной очень важной проблемы. В доме у нас было много потоков, работающих одновременно. Однако в реальной жизненной ситуации обычно имеется


Объект Global

Из книги Идеальный программист. Как стать профессионалом разработки ПО автора Мартин Роберт С.

Объект Global Этот объект содержит несколько методов и свойств, которые не принадлежат ни одному объекту (табл. 11.12 и 11.13). Для удобства их объединили в объект Global.Таблица 11.12. Свойства объекта Global Таблица 11.13. Методы объекта Global Для доступа к методам и функциям этого объекта


Роль разработчика

Из книги автора

Роль разработчика Работа по реализации некоторого аспекта системы начинается тогда, когда для этого аспекта готовы все приемочные тесты. Разработчики выполняют приемочные тесты и убеждаются в том, что те не проходят. Затем они связывают приемочные тесты с системой и