Требуемые события разворачиваются в следующем порядке:

  1. Application_BeginRequest(). Этот метод вызывается в начале каждого запроса, включая запросы на файлы, которые не являются Web-формами, например Web-службы.
  2. Application_AuthenticateRequest(). Этот метод вызывается до того, как будет выполнена аутентификация. Это стартовая точка для создания вашей собственной логики аутентификации.
  3. Application_AuthorizeRequest(). После того как пользователь пройдет процедуру аутентификации (то есть будет идентифицирован), нужно будет определить права пользователя. Вы мажете использовать этот метод для назначения специальных привилегий.
  4. Application_ResolveRequestCache(). Этот метод обычно используется вместе с кэшированием выходных данных. При кэшировании выходных данных (об этом мы будем говорить в главе 11) повторно используется сгенерированный HTML-код Web-формы, без выполнения какого-то вашего кода. Однако этот обработчик события по-прежнему продолжает работать.
  5. В этот момент запрос передается соответствующему обработчику. Например, при запросе Web-формы это происходит во время компиляции страницы (если в этом есть необходимость) и создании ее экземпляра.
  6. Application_AcquireRequestState(). Этот метод вызывается перед тем, как для клиента будет получена информация, специфическая для сеанса, и использована для заполнения коллекции Session.
  7. Application_PreRequestHandlerExecute(). Этот метод вызывается перед тем, как соответствующий обработчик HTML выполнит запрос.
  8. В этот момент производится обработка запроса соответствующим обработчиком. Например, если это запрос Web-формы, то выполняется код обработки события для страницы, и для страницы генерируется HTML-код.
  9. Application_PostRequestHandlerExecute(). Этот метод вызывается сразу после того, как будет обработан запрос.
  10. Application_ReleaseRequestState(). Этот метод вызывается тогда, когда информация, специфическая для сеанса, сериализируется из коллекции Session, чтобы стать доступной для следующего запроса.
  11. Application_UpdateRequestCache(). Этот метод вызывается перед добавлением информации в кэш выходных данных. Например, если вы разрешили кэширование выходных данных для Web-страницы, то ASP.NET в этот момент поместит сгенерированный HTML-код страницы в кэш.
  12. Application_EndRequest(). Этот метод вызывается в конце запроса перед тем, как объекты будут освобождены и восстановлены. Этот момент очень подходит для кода очистки.

На рис. 5.1 показан процесс обработки одного запроса.

предыдущая    следующая страница   оглавление

209

Hosted by uCoz