Klases (no kuras manto Global) instances tiek izveidotas ASP.NET infrastruktūrā, nevis tieši lietotājs. Klases HttpApplication instance tiek izmantota, lai apstrādātu vairākus pieprasījumus tās kalpošanas laikā, bet vienlaikus tā var apstrādāt tikai vienu pieprasījumu. Tas ļauj izmantot dalībnieka mainīgos, lai saglabātu datus katram pieprasījumam.
Lietojumprogramma izpilda notikumus, ko apstrādā modulis vai lietotāja kods, kas definēts failā global.asax šādā secībā:
1 、 Sākt pieprasījumu (Notiek kā pirmais notikums HTTP izpildes konveijera ķēdē, kad ASP.NET atbild uz pieprasījumu)
2 、 Autentificēt (Rodas, kad drošības modulis ir izveidojis lietotāja identitāti.) Piezīme: Notikums AuthenticateRequest signalizē, ka konfigurētais autentifikācijas mehānisms ir autentificējis pašreizējo pieprasījumu. Notikuma AuthenticateRequest plānošana nodrošina, ka pieprasījums tiek autentificēts pirms pievienotā moduļa vai notikumu apdarinātāja apstrādes. )
3 、 PostAuthenticateRequest (Piezīme: šis notikums ir jauns .NET Framework versijā 2.0.) Rodas, kad drošības modulis ir izveidojis lietotāja identitāti. Notikums PostAuthenticateRequest tiek parādīts pēc notikuma AuthenticateRequest. Iespēja ieplānot notikumu PostAuthenticateRequest var piekļūt visiem datiem, ko apstrādā PostAuthenticateRequest. )
4 、 Autorizēt pieprasījumu (Rodas, ja drošības modulis ir verificējis lietotāja autorizāciju.) Notikums AuthorizeRequest norāda, ka ASP.NET ir autorizējis pašreizējo pieprasījumu. Notikuma AuthorizeRequest plānošana nodrošina, ka pieprasījumi tiek autentificēti un autorizēti pirms papildu moduļu vai notikumu apdarinātāju apstrādes. )
5 、 Pēcautorizācijas pieprasījums (Jauni notikumi .NET 2.0.) Rodas, kad pašreiz pieprasītais lietotājs ir autorizēts. Notikums PostAuthorizeRequest norāda, ka ASP.NET ir autorizējis pašreizējo pieprasījumu. PostAuthorizeRequest pasākuma rezervēšana nodrošina, ka pieprasījumi tiek autentificēti un autorizēti pirms papildu moduļu vai apstrādātāju apstrādes. )
6 、 ResolveRequestCache (Rodas, kad ASP.NET pabeidz autorizācijas notikumu, lai kešatmiņas modulis apkalpotu pieprasījumu no kešatmiņas, izlaižot notikumu apdarinātāja (piemēram, lapas vai XML Web ervices) izpildi.) )
7 、 PostResolveRequestCache (Rodas, ja ASP.NET izlaiž pašreizējā notikumu apdarinātāja izpildi un ļauj kešatmiņas modulim apmierināt pieprasījumus no kešatmiņas.) PostResolveRequestCache notikums, PostMapRequestHandler Pirms notikuma izveidojiet notikumu apdarinātāju (kas atbilst pieprasījuma URL lapai).
8 、 PostMapRequestHandler Rodas, kad ASP.NET ir kartējis pašreizējo pieprasījumu atbilstošajam notikumu apdarinātājam
9 、 Iegūt pieprasījumu Rodas, kad ASP.NET iegūst pašreizējo stāvokli, kas saistīts ar pašreizējo pieprasījumu, piemēram, sesijas stāvokli
10 、 PostAcquireRequestState Rodas, ja esat ieguvis pieprasījuma statusu, kas saistīts ar pašreizējo pieprasījumu, piemēram, sesijas stāvokli
11 、 PreRequestHandlerExecute Tas notiek tieši pirms ASP.NET notikumu apdarinātāja (piemēram, lapas vai XML Web pakalpojuma) izpildes uzsākšanas.
12 、 PostRequestHandlerExecute Rodas, kad ASP.NET notikumu apdarinātājs (piemēram, lapa vai XML Web pakalpojums) pabeidz izpildi
13 、 ReleaseRequestState Notiek pēc tam ASP.NET kad ir izpildīti visi pieprasījuma notikumu apdarinātāji. Šis notikums liks statusa modulim saglabāt pašreizējos stāvokļa datus.
14 、 PostReleaseRequestState Rodas, kad ASP.NET ir pabeidzis visu pieprasījuma notikumu apdarinātāju izpildi un pieprasījuma stāvokļa dati ir saglabāti.
15 、 UpdateRequestCache Tas notiek, kad ASP.NET pabeidz notikumu apdarinātāja izpildi, lai kešatmiņas moduļa krātuve tiktu izmantota, lai sniegtu atbildi no kešatmiņas uz turpmākajiem pieprasījumiem.
16 、 PostUpdateRequestCache Šis notikums notiek pēc tam, kad ASP.NET pabeidz kešatmiņas moduļa atjaunināšanu un saglabā atbildi, lai apkalpotu turpmākos pieprasījumus no kešatmiņas.
17 、 Beigu pieprasījums Notiek kā pēdējais notikums HTTP izpildes konveijera ķēdē, kad ASP.NET atbild uz pieprasījumu.
Kods ir šāds:
|