Проф. В.К.Толстых, www.tolstykh.com Технологии разработки Internet- приложений ASP.NET приложения – Модули HTTP, фильтры, события приложения - Global.asax.

Презентация:



Advertisements
Похожие презентации
Проф. В.К.Толстых, Технологии разработки Internet- приложений ASP.NET приложения – ASP.NET-процесс, пул, домен приложения, компиляция,
Advertisements

Проф. В.К.Толстых, Технологии разработки Internet- приложений ASP.NET примеры: обработка данных форм. работа с формами работа с формами.
Проф. В.К.Толстых, Технологии разработки Internet- приложений ASP.NET приложения – локализация ресурсов приложения Из цикла лекций «Технологии.
Проф. В.К.Толстых, Технологии разработки Internet- приложений ASP.NET приложения – обработка ошибок страниц и приложения, Global.aspx.
Проф. В.К.Толстых, Технологии разработки Internet- приложений ASP.NET приложения – пользовательские элементы управления Из цикла лекций.
Проф. В.К.Толстых, Технологии разработки Internet- приложений ASP.NET приложения – директивы Из цикла лекций «Технологии разработки Internet-приложений»
Тренинг «Разработка веб-приложений на ASP.NET» Занятие 2 Страницы и элементы управления Гайдар Магдануров
Проф. В.К.Толстых, Технологии разработки Internet- приложений ASP.NET примеры: HtmlControls Из цикла лекций «Технологии разработки Internet-приложений»
Проф. В.К.Толстых, Технологии разработки Internet- приложений Архитектура и администрирование IIS 7 исполняющая среда ASP.NET в IIS 7,
Проф. В.К.Толстых, Технологии разработки Internet- приложений ASP.NET примеры: динамические таблицы, привязка данных к выпадающему списку.
ДонНУ, кафедра КТ, проф.В.К.Толстых WCF-службы Создание и тестирование.dll-библиотеки WCF-служб Из цикла лекций «Internet-технологии разработки приложений»
Проф. В.К.Толстых, Технологии разработки Internet- приложений ASP.NET приложения – оптимизация скорости работы приложений Из цикла лекций.
ДонНУ, кафедра КТ, проф.В.К.Толстых Web-службы (Web-сервисы) введение введение Разработка в среде Delphi Из цикла лекций «Internet-технологии разработки.
Проф. В.К.Толстых, Технологии разработки Internet- приложений Delphi for.NET примеры: работа с файлами Из цикла лекций «Технологии разработки.
Проф. В.К.Толстых, Технологии разработки Internet- приложений ASP.NET приложения – валидация, валидационные элементы управления Из цикла.
Проф. В.К.Толстых, Технологии разработки Internet- приложений Эталонные страницы – Master pages Из цикла лекций «Технологии разработки.
Проф. В.К.Толстых, Технологии разработки Internet- приложений ASP.NET приложения – класс Control Из цикла лекций «Технологии разработки.
Проф. В.К.Толстых, Пример Web-службы Калькулятор с валидацией Из цикла лекций «Internet-технологии разработки приложений» для студентов.
Проф. В.К.Толстых, Технологии разработки Internet- приложений Администрирование IIS 5, 6 сайт, виртуальный каталог, приложение, пул, рабочий.
ДонНУ, кафедра КТ, проф.В.К.Толстых Технологии разработки Internet- приложений ASP.NET приложения: Безопасность – аутентификация Из цикла лекций «Технологии.
Транксрипт:

проф. В.К.Толстых, Технологии разработки Internet- приложений ASP.NET приложения – Модули HTTP, фильтры, события приложения - Global.asax Из цикла лекций «Технологии разработки Internet-приложений» для студентов 4-го курса кафедры Компьютерных технологий физического факультета Донецкого национального университета

Компонент конвейера HTTP: HTTP modules Модули HTTP – это классы, реализующие интерфейс IHttpModule и обрабатывающие события времени выполнения (Runtime). HTTP-модули – это механизм, который позволяет выполнять различные действия на любом этапе жизненного цикла страницы или приложения. В HTTP-модуле можно подписаться на любое событие жизненного цикла и обрабатывать его, реализуя при этом какую-то свою логику. Обычно, модули используют как фильтры приложения. Каждый модуль запускается методом Init. В этом методе каждый HTTP-модуль подписывается на события жизненного цикла приложения ( BeginRequest, AuthenticateRequest … – всего 26). После этих действий все загруженные модули HTTP остаются в памяти и выгружаются только тогда, когда выгружается домен приложения. При каждом цикле обработки запроса отрабатывают те или иные события, на которые подписаны различные HTTP-модули. Именно в этот момент можно добавить необходимую логику. Для того чтобы создать собственные HTTP-модули необходимо создать класс, реализующий интерфейс IHttpModule. В рамках этого интерфейса присутствуют два метода – Init() и Dispose(). Последний метод необходим для того, чтобы в нужный момент очистить занимаемые ресурсы. Обычно, этот метод остаётся пустым. Метод Init() вызывается в момент загрузки HTTP-модуля и имеет параметр типа HttpApplication. Этот параметр позволяет подписаться на события жизненного цикла обработки запроса. Метод модуля Init() срабатывает только один раз – при создании домена приложения.

Создание модуля При добавлении HTTP-модуля необходимо его зарегистрировать (подключить), т.е в файле web.config указать его имя и имя класса, который его реализует. Модули, зарегистрированные в элементе globalModules файла ApplicationHost.config, обладают глобальной областью действия для всех веб-приложений. Модуль управляемого кода можно задать как файл класса в папке App_Code приложения. Также можно создать модуль как проект библиотеки классов, скомпилировать его и добавить в папку Bin приложения. Пример кода HTTP-модуля: public class HttpModule1 : IHttpModule { public void Init(HttpApplication app) { app.BeginRequest +=... } public void Dispose() { /// } Регистрация модуля

События приложения в Global.asax Файл Global.asax, или файл приложения ASP.NET, является дополнительным файлом, содержащим код для отклика на события уровня приложения и уровня сеанса, создаваемые приложением ASP.NET или модулями HTTP. Файл Global.asax добавляется в корневую папку приложения ASP.NET. Во время выполнения этот файл анализируется и компилируется в динамически создаваемый класс.NET Framework, производный от базового класса HttpApplication. Среда ASP.NET настраивается таким образом, что любой непосредственный URL-запрос к файлу Global.asax автоматически отклоняется, а внешние пользователи не могут загружать или просматривать находящийся в нем код. Данный файл не является обязательным. Он создается только в том случае, если необходима обработка событий приложения или сеанса.

Часто используемые события При добавлении средой Visual Studio файла Global.asax в него, обычно, встраиваются наиболее часто используемые события уровня приложения: Application_Start – возникает когда создается экземпляр класса HttpApplication. Session_Start – возникает в начале каждого сеанса, здесь можно инициализировать переменные сеанса. Application_BeginRequest – инициируется в начале каждого отдельного запроса. Как правило, обработка запроса производится классом Page (Страница) Application_EndRequest – инициируется в конце запроса. Session_End – инициируется в конце каждого сеанса. Application_End – инициируется перед удалением экземпляра HttpApplication. Application_Error – инициируется при любом необработанном исключении в приложении. Подробнее см. в Обработка ошибок.ppt.Обработка ошибок.ppt