|
|
Paskelbta 2018-03-13 21:28:21
|
|
|

Ką reiškia žodis HttpContext .ashx? Pakalbėkime apie tai su jumis
HttpContext klasė: Įtraukia visą HTTP specifinę informaciją apie atskiras HTTP užklausas.
Kiekviename apdorojimo užklausos vykdymo grandinės etape yra objektas, kuris pereina tarp kiekvieno objekto, tai yra, saugoma užklausos konteksto informacija, kuri yra HttpContext objektas. HttpContext apima visą informaciją ASP.NET vieną užklausą, kurią reikia apdoroti. Nustačius užklausų apdorojimo mechanizmą, HttpContext klasė sukuriama su HttpRuntime objektu, kuris vėliau pereina įvairius užklausos gyvavimo etapus
Įvadas į "HttpContext": tvarkykite vieno vartotojo, vienos užklausos duomenis ir duomenys bus saugomi tik tos užklausos metu. yra skirtas išlaikyti reikšmes, kurias reikia perduoti tarp skirtingų HttpModules ir HttpHandlers. Jis taip pat gali būti naudojamas norint išlaikyti reikiamą informaciją išsamiai užklausai.
Ypatybė Current yra naudingas statinis narys, grąžinantis šiuo metu prašomą HttpContex objektą. Elementai yra maišos lentelės, kurios dalijasi duomenimis tarp modulių ir apdorojimo programų, dalyvaujančių apdorojant užklausas. Kiekvienas pasirinktinis modulis arba apdorojimo programa gali įtraukti savo informaciją į prašomą HttpContext objektą, o elementuose saugomą informaciją galiausiai naudoja puslapis, tačiau šią informaciją galima pasiekti tik vykdant užklausą HttpKontekstas Apibrėžimas: Įtraukia visą HTTP specifinę informaciją apie atskiras HTTP užklausas.
Tiesą sakant, jame yra Http užklausa ir visa grąžinta informacija.
HttpContext gaunamas iš System.Runtime.Remoting.Messaging.CallContext.HostContext. Šis HostContext apibrėžimas skirtas gauti arba nustatyti pagrindinio kompiuterio kontekstą, susietą su dabartine gija (todėl HttpContext gali būti naudojamas tik dabartinės užklausos gijoje. )
HttpContext iš tikrųjų saugomas ypatybėje CallContext.HostContextJei jums vis dar įdomu apie HostContext, galite pamatyti jį patys su Reflector.exe, aš nenoriu rašyti daugiau kodo, nes kai kurie tipai ir metodai nėra vieši.
HttpContext.Current.Items gali būti naudojamas bendrinant duomenis tarp HttpModule ir HTTPHandler, nes kiekviena vartotojo užklausa eina per HTTP vykdymo laiko srautą HttpModule, HTTPHandler. Kai įdiegiate IHttpMoudle metodą, kad perduotumėte informaciją vartotojo užklausai per HttpMoudle. Galite naudoti HttpContext.Current.Items duomenims perkelti į skirtingus užklausų puslapius ir skirtingus HttpModules, tačiau pasibaigus užklausai ir užregistravus duomenis, šio rinkinio duomenys bus prarasti patys.
Pavyzdžiui, kiekvieną kartą, kai pateikiame užklausą, norime naudoti tą patį DbContext konteksto objektą ef, o kodas yra toks:
|
Ankstesnis:Nustatykite, ar lankytojas yra mobilusis telefonas, ar kompiuteris pagal UserAgentKitą:Asp.Net pristatytas IHttpHandler
|