|
|
Publicēts 13.03.2018 21:28:21
|
|
|

Ko nozīmē vārds HttpContext .ashx? Parunāsim par to ar jums
HttpContext klase: iekapsulē visu HTTP specifisko informāciju par atsevišķiem HTTP pieprasījumiem.
Katrā apstrādes pieprasījuma izpildes ķēdes posmā ir objekts, kas iet starp katru objektu, tas ir, tiek saglabāta pieprasījuma konteksta informācija, kas ir HttpContext objekts. HttpContext ietver visu informāciju ASP.NET vienu apstrādājamo pieprasījumu. Kad pieprasījuma apstrādes mehānisms ir izveidots, HttpContext klase tiek instancēta ar HttpRuntime objektu, kas pēc tam iziet cauri dažādiem pieprasījuma dzīves posmiem
Iepazīšanās ar HttpContext: uzturiet datus vienam lietotājam, vienam pieprasījumam, un dati tiek saglabāti tikai šī pieprasījuma laikā. tiek nodrošināts, lai saglabātu vērtības, kas jānodod starp dažādiem HttpModules un HttpHandlers. To var arī izmantot, lai saglabātu atbilstošu informāciju pilnīgam pieprasījumam.
Rekvizīts Current ir noderīgs statisks elements, kas atgriež pašreiz pieprasīto HttpContex objektu. Vienumi ir jaucējtabulas, kas koplieto datus starp moduļiem un apdarinātājiem, kas iesaistīti pieprasījumu apstrādē. Katrs pielāgotais modulis vai apdarinātājs var pievienot savu informāciju pieprasītajam HttpContext objektam, un vienumos glabātā informācija galu galā tiek izmantota lapā, bet šai informācijai var piekļūt tikai pieprasījuma izpildes laikā HttpKonteksts Definīcija: iekapsulē visu HTTP specifisko informāciju par atsevišķiem HTTP pieprasījumiem.
Faktiski tajā ir Http pieprasījums un visa atgrieztā informācija.
HttpContext nāk no System.Runtime.Remoting.Messaging.CallContext.HostContext. Šī HostContext definīcija ir iegūt vai iestatīt resursdatora kontekstu, kas saistīts ar pašreizējo pavedienu (tāpēc HttpContext var izmantot tikai pašreizējā pieprasījuma pavedienā. )
HttpContext faktiski tiek glabāts rekvizītā CallContext.HostContextJa jūs joprojām interesē HostContext, jūs varat to redzēt pats ar Reflector.exe, es nevēlos ievietot vairāk kodu, jo daži veidi un metodes nav publiski.
HttpContext.Current.Items var izmantot, koplietojot datus starp HttpModule un HTTPHandler, jo katrs lietotāja pieprasījums iet caur HTTP izpildlaika konveijeru 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.
Piemēram, katru reizi, kad mēs veicam pieprasījumu, mēs vēlamies izmantot to pašu DbContext konteksta objektu ef, un kods ir šāds:
|
Iepriekšējo:Noteikt, vai apmeklētājs ir mobilais tālrunis vai dators, pamatojoties uz UserAgentNākamo:Asp.Net ieviests IHttpHandler
|