Екземплярите на класа (от който наследява 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、ReleaseRequestStateState Случва се след като ASP.NET е изпълнил всички обработващи събития за заявки. Това събитие ще накара модулът на статуса да запази текущите данни за състояние.
14、След Заявка за освобождаванеСъстояние Възниква, когато ASP.NET е завършил изпълнението на всички обработващи събития за заявка и данните за състоянието на заявката са съхранени.
15、UpdateRequestCache Това се случва, когато ASP.NET приключи изпълнението на обработчика на събития, така че кеш модулното хранилище да се използва за обслужване на отговора от кеша към следващите заявки.
16、PostUpdateRequestCache Това събитие се случва след като ASP.NET приключи обновяването на кеш модула и съхранява отговора, за да обслужва следващите заявки от кеша.
17、EndRequest Случва се като последното събитие във веригата на HTTP изпълнителния конвейер, когато ASP.NET отговори на заявка.
Кодът е следният:
|