Denne artikkelen er en speilartikkel om maskinoversettelse, vennligst klikk her for å hoppe til originalartikkelen.

Utsikt: 17081|Svare: 2

[ASP.NET] HttpContext.Current.Items

[Kopier lenke]
Publisert på 11.02.2018 10:42:10 | | | |

HTTP er en tilstandsløs protokoll. Hver forespørsel er uavhengig, og dens utførelse og resultater er ikke direkte relatert til den forrige forespørselen og den påfølgende forespørselen, og den vil ikke bli direkte påvirket av svaret på forrige forespørsel, og heller ikke direkte påvirke svaret på den påfølgende forespørselen.

Faktisk støtter systemet vårt ofte brukere i å dele samme data (tilstand) mellom klientnettleseren og serveren med flere forespørsler, som brukerens innloggingskontoinformasjon. Derfor tilbyr ASP.NET mange variabler for å håndtere tilstanden: applikasjonstilstand, sesjonstilstand, visningstilstand, osv.

HttpContext-objektet er kun for én enkelt http-forespørsel.Egenskapene til denne klassen inkluderer også Request-objekter, Response-objekter, Sesjonsobjekter osv. Dette er Items-samlingen til HttpContext-klassen, som inneholder et hashtabellobjekt i form av nøkkelverdi.

La oss først se på formålet med HttpContext.Current.Items, som kun fungerer på én enkelt brukerforespørsel (HttpContext.Current.Items gyldig for en enkelt HTTPRequest). Når denne forespørselen er fullført, vil gjenstandssamlingen gå tapt når serverinformasjonen sendes tilbake til nettleseren. Session-objektet er for brukerens sesjon, det vil si at det handler på flere brukerforespørsler, og informasjonen går tapt etter at sesjonen utløper.

Siden HttpContext.Current.Items har så kort livssyklus, under hvilke omstendigheter kan det brukes? Det bemerkes her at HttpContext.Current.Items kan brukes ved deling av data mellom HttpModule og HTTPHandler, fordi hver brukerforespørsel går gjennom HTTP-kjøretidspipelinen HttpModule, HTTPHandler. Når du implementerer IHttpMoudle-metoden for å sende informasjon til brukerforespørselen via HttpMoudle. Du kan bruke HttpContext.Current.Items til å overføre data i forskjellige forespørselssider og forskjellige HttpModules, men når forespørselen avsluttes og dataene er lagt ut, vil dataene i denne samlingen gå tapt av seg selv. Som vist i følgende figur:




I tillegg, når serversiden hopper (Server.Execute/Server.Transfer), kan vi bruke HttpContext.Current.Items for å overføre data mellom de to skjemaene.
Selvfølgelig, hvis du endrer Server.Transfer til Response.Redirect, vil du ikke kunne hente dataene i HttpContext.Current.Items på den nye siden fordi det er en annen HTTP-forespørsel. System.NullReferenceException: Objektreferansen er ikke satt til objektets instans.





Foregående:20 minutter for å utstede virtuell valuta basert på Ethereum-nettverket
Neste:Å tenke på bruksscenarier og betydningen av intelligente terminaler
 Vert| Publisert på 30.06.2023 20:35:38 |
ASP.NET forskjellen mellom ThreadStatic, CallContext og HttpContext
https://www.itsvse.com/thread-10620-1-1.html
Ansvarsfraskrivelse:
All programvare, programmeringsmateriell eller artikler publisert av Code Farmer Network er kun for lærings- og forskningsformål; Innholdet ovenfor skal ikke brukes til kommersielle eller ulovlige formål, ellers skal brukerne bære alle konsekvenser. Informasjonen på dette nettstedet kommer fra Internett, og opphavsrettstvister har ingenting med dette nettstedet å gjøre. Du må fullstendig slette innholdet ovenfor fra datamaskinen din innen 24 timer etter nedlasting. Hvis du liker programmet, vennligst støtt ekte programvare, kjøp registrering, og få bedre ekte tjenester. Hvis det foreligger noen krenkelse, vennligst kontakt oss på e-post.

Mail To:help@itsvse.com