Mitä sana HttpContext tarkoittaa .ashx-muodossa? Puhutaan siitä kanssasi
HttpContext-luokka: Kapseloi kaiken HTTP-spesifisen tiedon yksittäisistä HTTP-pyynnöistä.
Jokaisessa prosessointipyynnön suoritusketjun vaiheessa on objekti, joka kulkee jokaisen objektin välillä, eli pyynnön kontekstitieto tallennetaan, eli HttpContext-objekti. HttpContext kapseloi kaiken tiedon ASP.NET yhden käsiteltävän pyynnön. Kun pyyntöjen käsittelymekanismi on perustettu, HttpContext-luokka luodaan HttpRuntime-objektilla, joka käy läpi pyynnön elinkaaren eri vaiheet
Johdatus HttpContextiin: Ylläpidä dataa yhdelle käyttäjälle, yhdelle pyynnölle, ja tietoja ylläpidetään vain pyynnön ajan. on tarkoitettu ylläpitämään arvoja, jotka täytyy siirtää eri HttpModulesin ja HttpHandlerien välillä. Sitä voidaan myös käyttää asianmukaisten tietojen ylläpitämiseen täydellistä pyyntöä varten.
Current-ominaisuus on hyödyllinen staattinen jäsen, joka palauttaa tällä hetkellä pyydetyn HttpContex-objektin. Kohteet ovat hajautustauluja, jotka jakavat dataa moduulien ja pyyntöjen käsittelyyn osallistuvien ohjaajien välillä. Jokainen mukautettu moduuli tai käsittelijä pystyy lisäämään omat tietonsa pyydettyyn HttpContext-objektiin, ja Items-tiedostoihin tallennettu tieto käytetään lopulta sivun toimesta, mutta näihin tietoihin pääsee käsiksi vain pyynnön suorittamisen aikana HttpKonteksti Määritelmä: Kapseloi kaiken HTTP-spesifisen tiedon yksittäisistä HTTP-pyynnöistä.
Itse asiassa Http-pyyntö ja kaikki palautetut tiedot ovat siinä.
HttpContext tulee tiedostosta System.Runtime.Remoting.Messaging.CallContext.HostContext. Tämä HostContext-määritelmä on tarkoitettu hakemaan tai asettamaan nykyiseen säikeeseen liitetty isäntäkonteksti (eli HttpContextia voidaan käyttää vain nykyisen pyynnön säikeessä). )
HttpContext on itse asiassa tallennettu CallContext.HostContext -ominaisuuteenJos olet edelleen utelias HostContextista, voit katsoa sen itse Reflector.exe:n kautta, en halua julkaista enää koodia, koska jotkut tyypit ja menetelmät eivät ole julkisia.
HttpContext.Current.Items -tiedostoa voidaan käyttää jaettaessa dataa HttpModulin ja HTTPHandlerin välillä, koska jokainen käyttäjäpyyntö kulkee HTTP-ajonaikaisen HttpModule, HTTPHandler -putken kautta. Kun otat käyttöön IHttpMoudle-menetelmän, joka välittää tiedot käyttäjän pyynnölle HttpMoudlen kautta. Voit käyttää HttpContext.Current.Items-tiedostoa siirtääksesi dataa eri pyyntösivuilla ja eri HttpModuleissa, mutta kun pyyntö päättyy ja data julkaistaan, tämän kokoelman data katoaa itsestään.
Esimerkiksi aina kun teemme pyynnön, haluamme käyttää samaa DbContext-kontekstiobjektia ef:ssä, ja koodi on seuraava:
|