Екземпляри класу (з якого успадковує 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、ReleaseRequestДержава Відбувається після того, як ASP.NET виконав усі обробники подій запитів. Ця подія змусить модуль статусу зберегти поточні дані стану.
14、PostReleaseRequestState Виникає, коли ASP.NET завершив виконання всіх обробників подій запиту і дані стану запиту збережені.
15、UpdateRequestCache Це відбувається, коли ASP.NET завершує виконання обробника події, і сховище модулів кешу буде використано для подачі відповіді з кешу на наступні запити.
16、PostUpdateRequestCache Ця подія відбувається після завершення оновлення кеш-модуля ASP.NET і збереження відповіді для обслуговування наступних запитів із кешу.
17、EndRequest Відбувається як остання подія в ланцюжку виконання HTTP-конвеєра, коли ASP.NET відповідає на запит.
Код виглядає так:
|