Šis raksts ir mašīntulkošanas spoguļraksts, lūdzu, noklikšķiniet šeit, lai pārietu uz oriģinālo rakstu.

Skats: 17081|Atbildi: 2

[ASP.NET] HttpContext.Current.Items

[Kopēt saiti]
Publicēts 11.02.2018 10:42:10 | | | |

HTTP ir bezvalstniecības protokols. Katrs pieprasījums ir neatkarīgs, un tā izpilde un rezultāti nav tieši saistīti ar iepriekšējo pieprasījumu un nākamo pieprasījumu, un atbilde uz iepriekšējo pieprasījumu to tieši neietekmēs, kā arī tieši neietekmēs atbildi uz nākamo pieprasījumu.

Faktiski mūsu sistēma bieži atbalsta lietotājus, lai kopīgotu vienus un tos pašus datus (stāvokli) starp klienta pārlūkprogrammu un serveri vairākus pieprasījumus, piemēram, lietotāja pieteikšanās konta informāciju. Tāpēc ASP.NET nodrošina daudzus mainīgos, lai pārvaldītu stāvokli: lietojumprogrammas stāvokli, sesijas stāvokli, skata stāvokli utt.

HttpContext objekts ir paredzēts tikai vienam http pieprasījumam.Šīs klases rekvizīti ietver arī pieprasījuma objektus, atbildes objektus, sesijas objektus utt. Šī ir HttpContext klases vienumu kolekcija, kas satur jaukšanas tabulas objektu atslēgas vērtības formā.

Pirmkārt, apskatīsim HttpContext.Current.Items mērķi, kas darbojas tikai pēc viena lietotāja pieprasījuma (HttpContext.Current.Items derīgs vienam HTTPRequest). Kad šis pieprasījums ir pabeigts, vienumu kolekcija tiks zaudēta, kad servera informācija tiks nosūtīta atpakaļ uz pārlūkprogrammu. Sesijas objekts ir paredzēts lietotāja sesijai, tas ir, tas darbojas pēc vairākiem lietotāju pieprasījumiem, un informācija tiek zaudēta pēc sesijas beigām.

Tā kā HttpContext.Current.Items ir tik īss dzīves cikls, kādos apstākļos to var izmantot? Šeit ir atzīmēts, ka HttpContext.Current.Items var izmantot, koplietojot datus starp HttpModule un HTTPHandler, jo katrs lietotāja pieprasījums iet caur HTTP izpildlaika cauruļvadu HttpModule, HTTPHandler. Ieviešot IHttpMoudle metodi, lai nodotu informāciju lietotāja pieprasījumam, izmantojot HttpMoudle. Varat izmantot HttpContext.Current.Items, lai pārsūtītu datus dažādās pieprasījumu lapās un dažādos HttpModules, bet, kad pieprasījums ir beidzies un dati ir publicēti, dati šajā kolekcijā tiks zaudēti paši. Kā parādīts nākamajā attēlā:




Turklāt, kad servera lapa lec (Server.Execute/Server.Transfer), mēs varam izmantot HttpContext.Current.Items, lai nodotu datus starp abām veidlapām.
Acīmredzot, ja maināt Server.Transfer uz Response.Redirect, jaunajā lapā nevarēsit iegūt datus HttpContext.Current.Items, jo tas ir cits Http pieprasījums. System.NullReferenceException: objekta atsauce nav iestatīta objekta instancei.





Iepriekšējo:20 minūtes, lai emitētu virtuālo valūtu, pamatojoties uz Ethereum tīklu
Nākamo:Domājot par viedo termināļu izmantošanas scenārijiem un nozīmi
 Saimnieks| Publicēts 30.06.2023 20:35:38 |
ASP.NET atšķirība starp ThreadStatic, CallContext un HttpContext
https://www.itsvse.com/thread-10620-1-1.html
Atruna:
Visa programmatūra, programmēšanas materiāli vai raksti, ko publicē Code Farmer Network, ir paredzēti tikai mācību un pētniecības mērķiem; Iepriekš minēto saturu nedrīkst izmantot komerciāliem vai nelikumīgiem mērķiem, pretējā gadījumā lietotājiem ir jāuzņemas visas sekas. Informācija šajā vietnē nāk no interneta, un autortiesību strīdiem nav nekāda sakara ar šo vietni. Iepriekš minētais saturs ir pilnībā jāizdzēš no datora 24 stundu laikā pēc lejupielādes. Ja jums patīk programma, lūdzu, atbalstiet oriģinālu programmatūru, iegādājieties reģistrāciju un iegūstiet labākus oriģinālus pakalpojumus. Ja ir kādi pārkāpumi, lūdzu, sazinieties ar mums pa e-pastu.

Mail To:help@itsvse.com