Требуемые события разворачиваются в следующем порядке:
- Application_BeginRequest(). Этот метод вызывается в начале каждого
запроса, включая запросы на файлы, которые не являются Web-формами,
например Web-службы.
- Application_AuthenticateRequest(). Этот метод вызывается до того, как
будет выполнена аутентификация. Это стартовая точка для создания вашей
собственной логики аутентификации.
- Application_AuthorizeRequest(). После того как пользователь пройдет
процедуру аутентификации (то есть будет идентифицирован), нужно будет
определить права пользователя. Вы мажете использовать этот метод для
назначения специальных привилегий.
- Application_ResolveRequestCache(). Этот метод обычно
используется вместе с кэшированием выходных данных. При кэшировании выходных
данных (об этом мы будем говорить в главе 11) повторно используется
сгенерированный HTML-код Web-формы, без выполнения какого-то вашего кода.
Однако этот обработчик события по-прежнему продолжает работать.
- В этот момент запрос передается соответствующему обработчику. Например,
при запросе Web-формы это происходит во время компиляции страницы
(если в этом есть необходимость) и создании ее экземпляра.
- Application_AcquireRequestState(). Этот метод вызывается перед тем,
как для клиента будет получена информация, специфическая для сеанса, и
использована для заполнения коллекции Session.
- Application_PreRequestHandlerExecute(). Этот метод вызывается перед
тем, как соответствующий обработчик HTML выполнит запрос.
- В этот момент производится обработка запроса соответствующим обработчиком. Например, если это запрос Web-формы, то выполняется код
обработки события для страницы, и для страницы генерируется HTML-код.
- Application_PostRequestHandlerExecute(). Этот метод вызывается
сразу после того, как будет обработан запрос.
- Application_ReleaseRequestState(). Этот метод вызывается тогда,
когда информация, специфическая для сеанса, сериализируется из коллекции
Session, чтобы стать доступной для следующего запроса.
- Application_UpdateRequestCache(). Этот метод вызывается перед
добавлением информации в кэш выходных данных. Например, если вы разрешили
кэширование выходных данных для Web-страницы, то ASP.NET в этот момент
поместит сгенерированный HTML-код страницы в кэш.
- Application_EndRequest(). Этот метод вызывается в конце запроса перед
тем, как объекты будут освобождены и восстановлены. Этот момент очень
подходит для кода очистки.
На рис. 5.1 показан процесс обработки одного запроса.
предыдущая следующая страница оглавление
209