Экземпляры класса (от которого наследует Global) создаются в инфраструктуре ASP.NET и не напрямую пользователем. Экземпляр класса HttpApplication используется для обработки нескольких запросов в течение своей жизни, но может обрабатывать только один запрос одновременно. Это позволяет использовать переменные участников для хранения данных по каждому запросу.
Приложение выполняет события, обрабатываемые модулем или пользовательским кодом, определённым в файле global.asax, в следующем порядке:
1、BeginRequest (Происходит как первое событие в цепочке конвейера выполнения HTTP, когда ASP.NET отвечает на запрос)
2、AuthenticateRequest (Происходит, когда модуль безопасности установил идентификацию пользователя.) Примечание: событие AuthenticateRequest сигнализирует, что настроенный механизм аутентификации аутентифицировал текущий запрос. Планирование события AuthenticateRequest гарантирует, что запрос аутентифицирован до обработки прикреплённого модуля или обработчика событий. )
3、PostAuthenticateRequest (Примечание: это событие новое в версии .NET Framework 2.0.) Возникает, когда модуль безопасности установил идентификацию пользователя. Событие PostAuthenticateRequest возникает после выполнения события AuthenticateRequest. Возможность запланировать событие PostAuthenticateRequest позволяет получить доступ к любым данным, обработанным PostAuthenticateRequest. )
4、AuthorizeRequest (Происходит, когда модуль безопасности проверил авторизацию пользователя.) Событие AuthorizeRequest сигнализирует, что ASP.NET разрешил текущий запрос. Планирование события AuthorizeRequest гарантирует, что запросы аутентифицированы и авторизованы до обработки дополнительных модулей или обработчиков событий. )
5、PostAuthorizeRequest (Новые события в .NET 2.0.) Происходит, когда запрашиваемый пользователь авторизован. Событие PostAuthorizeRequest сигнализирует, что ASP.NET разрешил текущий запрос. Бронирование события PostAuthorizeRequest гарантирует, что запросы аутентифицированы и авторизованы до обработки дополнительных модулей или обработчиков. )
6、ResolveRequestCache (Возникает, когда ASP.NET завершает событие авторизации, чтобы модуль кэша выполнял запрос из кэша, пропуская выполнение обработчика событий (например, страницы или веб-серверов XML.) )
7、PostResolveRequestCache (Возникает, когда ASP.NET пропускает выполнение текущего обработчика событий и позволяет модулю кэша удовлетворять запросы из кэша.) Событие PostResolveRequestCache, PostMapRequestHandler Создайте обработчик событий (соответствующий странице URL запроса) перед событием.
8、PostMapRequestHandler Возникает, когда ASP.NET сопоставил текущий запрос с соответствующим обработчиком событий
9、AcquireRequestState Возникает, когда ASP.NET получает текущее состояние, связанное с текущим запросом, например, состояние сессии
10、PostAcquireRequestState Возникает, когда вы получили статус запроса, связанный с текущим запросом, например, состояние сессии
11、PreRequestHandlerExecute Это происходит непосредственно перед началом ASP.NET запуска обработчика событий (например, страницы или XML-веб-сервиса).
12、PostRequestHandlerExecute Возникает, когда обработчик событий ASP.NET (например, страница или XML-веб-сервис) завершает выполнение
13、ReleaseRequestState Происходит после того, как ASP.NET выполнил все обработчики событий запроса. Это событие заставит модуль статуса сохранять данные текущего состояния.
14、PostReleaseRequestСостояние Возникает, когда ASP.NET завершил выполнение всех обработчиков событий запроса и данные состояния запроса были сохранены.
15、UpdateRequestCache Это происходит, когда ASP.NET завершает выполнение обработчика событий, чтобы хранилище модуля кэша использовалось для подачи ответа из кэша на последующие запросы.
16、PostUpdateRequestCache Это событие происходит после завершения обновления кэш-модуля ASP.NET и хранения ответа для обслуживания последующих запросов из кэша.
17、EndRequest Происходит как последнее событие в цепочке конвейера выполнения HTTP, когда ASP.NET отвечает на запрос.
Код таков:
|