Luokan instanssit (joista Global perii) luodaan ASP.NET-infrastruktuurissa, eikä suoraan käyttäjän toimesta. HttpApplication-luokan instanssia käytetään käsittelemään useita pyyntöjä elinaikanaan, mutta se voi käsitellä vain yhtä pyyntöä kerrallaan. Tämä mahdollistaa jäsenmuuttujien käytön datan tallentamiseen jokaista pyyntöä varten.
Sovellus suorittaa global.asax-tiedostossa määriteltyjen moduulin tai käyttäjäkoodin käsittelemiä tapahtumia seuraavassa järjestyksessä:
1、BeginRequest (Tapahtuu ensimmäisenä tapahtumana HTTP-suoritusputken ketjussa, kun ASP.NET vastaa pyyntöön)
2、AuthenticateRequest (Tapahtuu, kun turvamoduuli on luonut käyttäjätunnuksen.) Huomautus: AuthenticateRequest-tapahtuma merkitsee, että konfiguroitu todennusmekanismi on todentanut nykyisen pyynnön. AuthenticateRequest-tapahtuman ajoittaminen varmistaa, että pyyntö vahvistetaan ennen liitetyn moduulin tai tapahtuman käsittelijän käsittelyä. )
3、PostAuthenticateRequest (Huomautus: Tämä tapahtuma on uusi .NET Frameworkin versiossa 2.0.) Tapahtuu, kun turvamoduuli on luonut käyttäjätunnuksen. PostAuthenticateRequest-tapahtuma nousee AuthenticateRequest-tapahtuman jälkeen. Mahdollisuus ajoittaa PostAuthenticateRequest-tapahtuma mahdollistaa pääsyn mihin tahansa PostAuthenticateRequestin käsittelemään dataan. )
4、AuthorizeRequest (Tapahtuu, kun turvamoduulissa on vahvistettu käyttäjän valtuutus.) AuthorizeRequest-tapahtuma osoittaa, että ASP.NET on hyväksynyt nykyisen pyynnön. AuthorizeRequest-tapahtuman ajoittaminen varmistaa, että pyynnöt on todennettu ja valtuutettu ennen lisämoduulien tai tapahtumankäsittelijöiden käsittelyä. )
5、PostAuthorizeRequest (Uudet tapahtumat .NET 2.0:ssa.) Tapahtuu, kun tällä hetkellä pyydetty käyttäjä on valtuutettu. PostAuthorizeRequest-tapahtuma ilmoittaa, että ASP.NET on hyväksynyt nykyisen pyynnön. PostAuthorizeRequest-tapahtuman varaaminen varmistaa, että pyynnöt on todennettu ja valtuutettu ennen lisämoduulien tai käsittelijöiden käsittelyä. )
6、ResolveRequestCache (Tapahtuu, kun ASP.NET suorittaa valtuutustapahtuman, jolloin välimuistimoduuli palvelee pyynnön välimuistista, ohittaen tapahtumakäsittelijän (kuten sivun tai XML-web-tiedostojen) suorituksen.) )
7、PostResolveRequestCache (Tapahtuu, kun ASP.NET ohittaa nykyisen tapahtumankäsittelijän suorituksen ja antaa välimuistimoduulin täyttää välimuistin pyynnöt.) PostResolveRequestCache-tapahtuma, PostMapRequestHandler Luo tapahtumankäsittelijä (vastaa pyyntö-URL-sivua) ennen tapahtumaa.
8、PostMapRequestHandler Tapahtuu, kun ASP.NET on kartoittanut nykyisen pyynnön oikealle tapahtumankäsittelijälle
9、AcquireRequestState Tapahtuu, kun ASP.NET saa nykyisen tilan, joka liittyy nykyiseen pyyntöön, kuten istuntotilan
10、PostAcquireRequestState Tapahtuu, kun saat nykyiseen pyyntöön liittyvän pyynnön tilan, kuten istuntotilan
11、PreRequestHandlerExecute Se tapahtuu juuri ennen kuin ASP.NET alkaa suorittaa tapahtumankäsittelijää (esimerkiksi sivua tai XML-verkkopalvelua).
12、PostRequestHandlerExecute Tapahtuu, kun ASP.NET tapahtumankäsittelijä (esimerkiksi sivu tai XML-verkkopalvelu) lopettaa suorituksen
13、ReleaseRequestState Tapahtuu sen jälkeen, kun ASP.NET on suorittanut kaikki pyyntötapahtuman käsittelijät. Tämä tapahtuma saa tilamoduulin tallentamaan nykyiset tilatiedot.
14、PostReleaseRequestState Tapahtuu, kun ASP.NET on suorittanut kaikki pyyntötapahtumakäsittelijät ja pyyntötilatiedot on tallennettu.
15、UpdateRequestCache Tämä tapahtuu, kun ASP.NET suorittaa tapahtumankäsittelijän niin, että välimuistimoduulin tallennusta käytetään välimuistin vastauksen toimittamiseen myöhemmille pyynnöille.
16、PostUpdateRequestCache Tämä tapahtuma tapahtuu sen jälkeen, kun ASP.NET on päivittänyt välimuistimoduulin ja tallentaa vastauksen palvelemaan seuraavia pyyntöjä välimuistista.
17、EndRequest Tapahtuu HTTP:n suoritusputken viimeisenä tapahtumana, kun ASP.NET vastaa pyyntöön.
Koodi on seuraava:
|