Mit jelent a HttpContext szó az .ashx-ben? Beszéljünk róla veled
HttpContext osztály: Tartalmazza az egyes HTTP kérésekről szóló HTTP-specifikus információkat.
A feldolgozási kérés végrehajtási láncának minden szakaszában van egy objektum, amely áthalad az objektumok között, vagyis a kérés kontextusinformációja tárolódik, ami a HttpContext objektum. A HttpContext minden információt magában foglal, ASP.NET egyetlen feldolgozásra kerülő kérést. Amikor a kéréskezelő mechanizmus létrejött, a HttpContext osztályt egy HttpRuntime objektummal indítják, amely ezután a kérés élettartamának különböző szakaszain megy keresztül
Bevezetés a HttpContexthez: Egyetlen felhasználó és egyetlen kérés adatait tartsd fenn, és az adatok csak a kérés időtartama alatt kerülnek karban. a különböző HttpModulok és HttpHandlerek között át kell adni az értékek fenntartására. Használható a megfelelő információk megőrzésére is, hogy teljes kéréshez hozzáférjen.
A Current tulajdonság egy hasznos statikus tag, amely a jelenleg kért HttpContex objektumot adja vissza. Az elemek hash táblák, amelyek adatokat osztanak meg a modulok és a kérések feldolgozásában részt vevő kezelők között. Minden egyedi modul vagy kezelő képes saját információt hozzáadni a kért HttpContext objektumhoz, és az Elemekben tárolt információkat végül az oldal használja, de ezek az információk csak a kérés végrehajtása során érhető el HttpContext Definíció: Minden HTTP-specifikus információt tartalmaz az egyes HTTP kérésekről.
Valójában a Http kérés és az összes visszaküldött információ benne van.
A HttpContext a System.Runtime.Remoting.Messaging.CallContext.HostContext adatbázisból származik. Ez a HostContext definíció a jelenlegi szálhoz tartozó host kontextus megszerzésére vagy beállítására szolgál (így a HttpContext csak a jelenlegi kérés szálában használható). )
A HttpContext valójában a CallContext.HostContext tulajdonságban van tárolva.Ha még mindig érdekel a HostContext, megnézheted magad Reflector.exe-nél, nem szeretnék több kódot megosztani, mert egyes típusok és módszerek nem nyilvánosak.
A HttpContext.Current.Items használható adatok megosztásához a HttpModule és a HTTPHandler között, mivel minden felhasználói kérés a HTTP futási idejű HttpModule (HTTPHandler) csővezetéken keresztül megy. Amikor az IHttpMoudle módszert implementálod, hogy az információt továbbítsd a felhasználói kérésnek a HttpMoudle-on keresztül. Használhatod a HttpContext.Current.Items fájlokat különböző kérésoldalakon és különböző HttpModulokon történő átvitelre, de amikor a kérés véget ér és az adatokat feltöltik, a gyűjteményben lévő adatok önmaguktól elvesznek.
Például minden kérés esetén ugyanazt a DbContext kontextus objektumot szeretnénk használni az ef-ben, és a kód a következő:
|