Ce înseamnă cuvântul HttpContext în .ashx? Hai să vorbim despre asta cu tine
Clasa HttpContext: Încapsulează toate informațiile specifice HTTP despre cererile HTTP individuale.
În fiecare etapă a lanțului de execuție a cererilor de procesare, există un obiect care trece între fiecare obiect, adică informațiile de context ale cererii sunt stocate, care este obiectul HttpContext. HttpContext cuprinde toate informațiile ASP.NET o singură cerere care trebuie procesată. Când mecanismul de gestionare a cererilor este stabilit, clasa HttpContext este instanțiată cu un obiect HttpRuntime, care apoi parcurge diverse etape ale duratei de viață a cererii
Introducere în HttpContext: Păstrați datele pentru un singur utilizator, o singură cerere, iar datele sunt păstrate doar pe durata acelei cereri. este oferită pentru a menține valorile care trebuie transmise între diferite HttpModule și HttpHandlers. De asemenea, poate fi folosit pentru a păstra informațiile adecvate pentru o cerere completă.
Proprietatea Current este un membru static util care returnează obiectul HttpContex solicitat în prezent. Elementele sunt tabele hash care partajează date între module și handleri implicați în procesarea cererilor. Fiecare modul personalizat sau handler poate adăuga propriile informații la obiectul HttpContext solicitat, iar informațiile stocate în Items sunt folosite în cele din urmă de pagină, dar aceste informații pot fi accesate doar în timpul execuției cererii httpContext Definiție: Încapsulează toate informațiile specifice HTTP despre cererile HTTP individuale.
De fapt, cererea Http și toate informațiile returnate sunt incluse.
HttpContext provine de la System.Runtime.Remoting.Messaging.CallContext.HostContext. Această definiție HostContext este pentru a obține sau seta contextul gazdă asociat cu firul curent (astfel încât HttpContextul poate fi folosit doar în firul cererii curente). )
HttpContext este de fapt stocat în proprietatea CallContext.HostContextDacă încă ești curios despre HostContext, îl poți vedea singur cu Reflector.exe, nu vreau să postez mai mult cod, pentru că unele tipuri și metode nu sunt publice.
HttpContext.Current.Items poate fi folosit atunci când se partajează date între HttpModule și HTTPHandler, deoarece fiecare cerere a utilizatorului trece prin pipeline-ul de execuție HTTP HttpModule, HTTPHandler. Când implementezi metoda IHttpMoudle pentru a transmite informații către cererea utilizatorului prin HttpMoudle. Poți folosi HttpContext.Current.Items pentru a transfera date din diferite pagini de cerere și diferite HttpModule, dar odată ce cererea se încheie și datele sunt postate, datele din această colecție se vor pierde singure.
De exemplu, de fiecare dată când facem o cerere, vrem să folosim același obiect context DbContext în ef, iar codul este următorul:
|