See artikkel on masintõlke peegelartikkel, palun klõpsake siia, et hüpata algse artikli juurde.

Vaade: 51405|Vastuse: 5

[ASP.NET] asp.net IHttpModule liidest selgitatakse üksikasjalikult

[Kopeeri link]
Postitatud 13.03.2018 21:46:06 | | | |
Ees kirjutatud

IHttpModule'i asjakohase sisu kohta küsiti minult intervjuul samuti ning tundsin ähmaselt, et sellel liidesel on Init meetod, mis suudab registreerida sündmuste seeria Init meetodiga rakendusklassis. Kodus sel nädalavahetusel pole tegelikult midagi teha, isegi kui see on selle teadmise lünkade täitmine ja kontrollimine.

IHttpModule töötab

Sõbrad, kes tunnevad asp.net elutsüklit, peaksid teadma, et HttpModule'i täitmine toimub enne HttpHandlerit ning pärast HttpModule'i sündmuste seeria käivitamist, seejärel HttpHandleri käivitamist ja lõpuks mõnede HttpModule'i sündmuste käivitamist. Lisateabe saamiseks vaadake palun järgmist elutsükli skeemi.



HttpHandler on koht, kus töödeldakse HTTP-päringut, HttpModule on "ainus viis" HTTP päringu jaoks, nii et saad lisada vajalikku teavet HTTP päringu info peale enne, kui see HTTP päringu edastatakse päris päringute töötlemiskeskusesse (HttpHandler), või teha lisatööd pealtkuulatud HTTP päringu info kallal. Või mõnel juhul lihtsalt lõpetada HTTP-päringud, mis vastavad teatud tingimustele, mis võivad toimida filtrina.

HTTP-päring edastatakse mingil hetkel HttpHandleri konteinerisse (ResolveRequestCache sündmus) HttpModule'i konteineri kohaletoimetamise ajal. Pärast seda sündmust loob HttpModule'i konteiner HttpHandleri sisenemiseksemplari, kuid selle asemel, et loovutada HTTP päringu kontroll, jätkab ta AcquireRequestState ja PreRequestHandlerExcute sündmuste käivitamist. Pärast PreRequestHandlerExcute sündmust annab HttpModule aken ajutiselt kontrolli HttpHandler konteinerile päris HTTP päringute töötlemiseks.

HttpHandleri konteineri sees käivitatakse HTTP-päringute haldamiseks ProcessRequest meetod. Pärast seda, kui konteiner HttpHandler töötleb kogu HTTP päringu, tagastab ta kontrolli HttpModule'ile, kes edastab töödeldud HTTP päringu info voogu kihthaaval, kuni see tagastatakse kliendile.

Näide

Projekti struktuur



MyHttpModule kood

Registreeri kohandatud HttpModule web.config lehel

Sirvi lehte Default.aspx



Milline on siis sündmuste järjestus elutsükli jooksul?


Sirvi tulemusi



Kasuta HttpModule'i, et lõpetada Http-päring


tulemus



Kokkuvõte

Siin tutvustame asp.net elutsükli kõige olulisemat liidest, IHttpModule'i, mida saab kirjeldada kui sündmuste liidest, sest rakendusklassi Init meetodis saab elutsükli erinevaid sündmusi registreerida ja sündmuses määratleda erinevaid loogikameetodeid.





Eelmine:Asp.Net IHttpHandler tutvustati
Järgmine:C# peab seda päise lahendust kohandama sobivate atribuutide või meetoditega
 Üürileandja| Postitatud 13.03.2018 21:46:47 |
. NETFramework 4.5 pakub 25 standardset sündmust.


 Üürileandja| Postitatud 13.03.2018 21:47:03 |
. NETFramework 4.0, mis pakub 19 standardsündmust.

1. BeginRequest: asp.net esimene sündmus, mis alustab päringu töötlemist, mis näitab töötlemise algust.

2. AuthenticateRequest: Autentimispäring, mida tavaliselt kasutatakse päringu kasutajaandmete saamiseks.

3. PostAuthenticateRequest: Kasutajaandmed, mida on taotletud.

4. AuthorizeRequest: Autoriseerimine, mida kasutatakse tavaliselt selleks, et kontrollida, kas kasutaja taotlusele on antud luba.

5. PostauthorizeRequest: Kasutaja päring on autoriseeritud.

6. ResolveRequestCache: Hangi eelmise töötlemisvahemälu töötlemistulemused, kui see on varem vahemällu salvestatud, siis pole vaja päringut töödelda ja tagastada vahemällu salvestatud tulemused otse.

7. PostResolveRequestCache: Vahemälu on töödeldud.

8. PostMapRequestHandler: Taotletud protsessoriobjekt on loodud kasutaja soovi põhjal.

9. AcquireRequestState: Hangi päringu staatus, mida tavaliselt kasutatakse sessiooniks

10. PostAcquireRequestState: Sessioon on saadud

11. PreRequestHandlerExecute: Valmista täitmise haldur ette.

12. PostRequestHandlerExecute: Handler on täidetud

13. ReleaseRequestState: Vabastamistaotluse seisund.

14. PostReleaseRequestState: Taotluse staatus on avalikustatud.

15. UpdateRequestCache: Uuenda vahemälu.

16. PostUpdateRequestCache: Vahemälu on uuendatud.

17. LogRequest: Logioperatsioon taotletud

18. PostLogRequest: Päringu logitoiming on lõpetatud.

19. EndRequest: Taotlus töödeldakse.
Postitatud 22.04.2019 09:48:33 |
Pane see järjehoidjatesse
Postitatud 30.09.2021 19:19:09 |
Hiljuti õppisin. Loe seda hoolikalt
 Üürileandja| Postitatud 14.07.2023 20:26:36 |
ASP.NET MVC loendab päringuid, mis põhinevad IHttpModule moodulitel
https://www.itsvse.com/thread-10627-1-1.html
Disclaimer:
Kõik Code Farmer Networki poolt avaldatud tarkvara, programmeerimismaterjalid või artiklid on mõeldud ainult õppimiseks ja uurimistööks; Ülaltoodud sisu ei tohi kasutada ärilistel ega ebaseaduslikel eesmärkidel, vastasel juhul kannavad kasutajad kõik tagajärjed. Selle saidi info pärineb internetist ning autoriõiguste vaidlused ei ole selle saidiga seotud. Ülaltoodud sisu tuleb oma arvutist täielikult kustutada 24 tunni jooksul pärast allalaadimist. Kui sulle programm meeldib, palun toeta originaaltarkvara, osta registreerimist ja saa paremaid ehtsaid teenuseid. Kui esineb rikkumist, palun võtke meiega ühendust e-posti teel.

Mail To:help@itsvse.com