Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 17081|Svar: 2

[ASP.NET] HttpContext.Current.Items

[Kopier link]
Opslået på 11/02/2018 10.42.10 | | | |

HTTP er en tilstandsløs protokol. Hver anmodning er uafhængig, og dens udførelse og resultater er ikke direkte relateret til den tidligere anmodning og den efterfølgende anmodning, og den vil ikke blive direkte påvirket af svaret på den forrige anmodning, ej heller vil den direkte påvirke svaret på den efterfølgende anmodning.

Faktisk understøtter vores system ofte brugere i at dele de samme data (tilstand) mellem klientbrowseren og serveren med flere forespørgsler, såsom brugerens loginoplysninger. Derfor tilbyder ASP.NET mange variable til at styre tilstanden: applikationstilstand, sessionstilstand, visningstilstand osv.

HttpContext-objektet er kun til en enkelt HTTP-anmodning.Egenskaberne for denne klasse inkluderer også Request-objekter, Response-objekter, Session-objekter osv. Dette er Items-samlingen af HttpContext-klassen, som indeholder et hash-tabelobjekt i form af nøgle-værdi.

Lad os først se på formålet med HttpContext.Current.Items, som kun virker på en enkelt brugerforespørgsel (HttpContext.Current.Items, gyldig for en enkelt HTTPRequest). Når denne anmodning er afsluttet, vil indsamlingen af genstande gå tabt, når serverinformationen sendes tilbage til browseren. Session-objektet er for brugerens session, det vil sige, det handler på flere brugeranmodninger, og informationen går tabt, når sessionen udløber.

Da HttpContext.Current.Items har så kort en levetid, under hvilke omstændigheder kan den så bruges? Det bemærkes her, at HttpContext.Current.Items kan bruges, når data deles mellem HttpModule og HTTPHandler, fordi hver brugerforespørgsel går gennem HTTP-runtime-pipelinen HttpModule, HTTPHandler. Når du implementerer IHttpMoudle-metoden til at sende information til brugerforespørgslen via HttpMoudle. Du kan bruge HttpContext.Current.Items til at overføre data på forskellige anmodningssider og forskellige HttpModules, men når anmodningen slutter og dataene er lagt op, vil dataene i denne samling gå tabt af sig selv. Som vist i følgende figur:




Derudover kan vi, når serversiden hopper (Server.Execute/Server.Transfer), bruge HttpContext.Current.Items til at overføre data mellem de to formularer.
Selvfølgelig, hvis du ændrer Server.Transfer til Response.Redirect, vil du ikke kunne få dataene i HttpContext.Current.Items på den nye side, fordi det er en anden HTTP-anmodning. System.NullReferenceException: Objektreferencen er ikke sat til objektets instans.





Tidligere:20 minutter til at udstede virtuel valuta baseret på Ethereum-netværket
Næste:Overvejelse af brugsscenarier og betydningen af intelligente terminaler
 Udlejer| Opslået på 30/06/2023 20.35.38 |
ASP.NET forskellen mellem ThreadStatic, CallContext og HttpContext
https://www.itsvse.com/thread-10620-1-1.html
Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com