Kaj pomeni beseda HttpContext v .ashx? Pogovoriva se s tabo
Razred HttpContext: Vsebuje vse HTTP-specifične informacije o posameznih HTTP zahtevah.
V vsaki fazi verige izvajanja zahtevkov za obdelavo obstaja objekt, ki prehaja med vsakim objektom, torej se shranjujejo kontekstne informacije zahteve, to je objekt HttpContext. HttpContext zajema vse informacije ASP.NET eni sami zahtevi za obdelavo. Ko je mehanizem za obravnavo zahtevkov vzpostavljen, se razred HttpContext instancira z objektom HttpRuntime, ki nato prehaja skozi različne faze življenjske dobe zahteve
Uvod v HttpContext: Vzdržujte podatke za enega uporabnika, eno samo zahtevo, in podatki se vzdržujejo le za čas trajanja te zahteve. je na voljo za vzdrževanje vrednosti, ki jih je treba prenašati med različnimi HttpModule in HttpHandlerji. Uporablja se lahko tudi za vzdrževanje ustreznih informacij za popolno zahtevo.
Lastnost Current je uporaben statični član, ki vrne trenutno zahtevani objekt HttpContex. Elementi so zgoščevalne tabele, ki delijo podatke med moduli in obdelovalci, vključenimi v obdelavo zahtev. Vsak prilagojen modul ali handler lahko doda svoje podatke zahtevanemu objektu HttpContext, podatki, shranjeni v Elementih, pa so na koncu uporabljeni za stran, vendar so te informacije dostopne le med izvajanjem zahteve HttpContext Definicija: Vsebuje vse HTTP-specifične informacije o posameznih HTTP zahtevah.
Pravzaprav so v njem tudi HTTP zahteve in vse vrnjene informacije.
HttpContext izhaja iz System.Runtime.Redaljnji.Messaging.CallContext.HostContext. Ta definicija HostContext je namenjena pridobivanju ali nastavitvi konteksta gostitelja, povezanega s trenutno nitjo (torej se HttpContext lahko uporablja le v niti trenutne zahteve). )
HttpContext je dejansko shranjen v lastnosti CallContext.HostContextČe vas še vedno zanima HostContext, si ga lahko ogledate sami na Reflector.exe, ne želim več objavljati kode, ker nekateri tipi in metode niso javni.
HttpContext.Current.Items se lahko uporablja pri deljenju podatkov med HttpModule in HTTPHandler, saj vsaka uporabniška zahteva poteka skozi HTTP runtime pipeline HttpModule, HTTPHandler. Ko implementirate metodo IHttpMoudle za posredovanje informacij uporabniški zahtevi preko HttpMoudle. Uporabite lahko HttpContext.Current.Items za prenos podatkov na različnih straneh z zahtevami in različnih HttpModules, vendar ko zahteva konča in so podatki objavljeni, se podatki v tej zbirki sami izgubijo.
Na primer, vsakič, ko oddamo zahtevo, želimo uporabiti isti kontekstni objekt DbContext v ef, koda pa je naslednja:
|