
Рис. 5.1. События приложения
Некоторые события возникают не при каждом запросе:
- Application_Start(). Этот метод вызывается тогда, когда впервые
запускается приложение и создается домен приложения. В данный обработчик
события удобно помещать код инициализации всего приложения. Например,
в этот момент вы можете загрузить и кэшировать данные, которые не будут
изменяться в течение времени жизни приложения; к ним можно отнести
деревья навигации, статические каталоги товаров и тому подобное.
- Session_Start(). Этот метод вызывается каждый раз, когда начинается
новый сеанс. Он часто применяется для инициализации информации,
специфической для пользователя. В главе 6 будет рассказано о сеансах с
управлением состоянием.
- Application_Error(). Этот метод вызывается всякий раз когда в
приложении возникает необработанное событие.
- Session_End(). Этот метод вызывается всякий раз при завершении сеанса.
Сеанс завершается, если ваш код явным образом освобождает его, или если
он простаивал в течение заданного периода времени (обычно 20 минут), не
получив ни одного запроса. Этот метод обычно используется для очистки
любых связанных данных.
- Application_End(). Этот метод вызывается сразу после завершения
работы приложения. Завершение работы приложения может произойти или
вследствие перезапуска IIS, или вследствие перехода приложения в новый
домен приложения в ответ на обновление файлов или параметров настроек
повторного использования процесса.
- Appllication_Disposed(). Этот метод иногда вызывается после завершения
работы приложения, когда сборщик мусора .NET готов к восстановлению занимаемой приложением памяти. В этот момент уже поздно выполнять
критическую очистку, хотя вы можете последний раз узнать, были ли
освобождены критические ресурсы.
предыдущая следующая страница оглавление
210