TOC

This article has been localized into Hungarian by the community.

HttpContext:

Bevezetés

Egykor, amikor a PHP és az ASP uralta a világot, akkor a query stringekkel való foglalkozás állandó feladat volt! Venned kellett az URL-ből jövő bemenetet, egy query stringet, és az alapján visszaadni a tartalmat. Ennek a munkának a nagy része absztraktálva lett az ASP.NET MVC keretrendszerben - a query stringben található paraméterek például a megfelelő típussá vannak alakítva a vezérlőakciók részére, az űrlapokon keresztül bejövő információk pedig automatikusan modell objektumokká alakíthatóak.

Hamarosan viszont alighanem olyan helyzetbe kerülhetsz, ahol szükséges alacsonyabb szinten dolgoznod és mélyebben belemerülnöd a HTTP folyamatba. Ez jelentheti azt, hogy közvetlen akarsz hozzáférni a query stringhez vagy az űrlapból érkező értékekhez, de akár azt is, ha magad akarsz sütikkel/munkamenetekkel vagy válaszfejlécekkel dolgozni. Az ASP.NET MVC lehetővé teszi a HTTP-vel kapcsolatos funkciókhoz való hozzáférést, méghozzá a HttpContext osztályon keresztül.

Hozzáférés a HttpContexthez

A HttpContext osztályhoz bármely vezérlőn hozzá lehet férni. A HttpContexthez egyszerűen hozzá lehet férni a vezérlőkön található HttpContext tulajdonságon keresztül. Tovább könnyítendő a dolgunkat, bizonyos HttpContext tulajdonságok közvetlen a vezérlőn is megtalálhatóak, mint amilyen a Request tulajdonság is.

Nem ajánlott a vezérlőkön kívülről hozzáférni a HttpContexthez. Ezt könnyen meg lehetett tenni az ASP.NET MVC keretrendszer korábbi verzióiban a HttpContext.Current tulajdonság segítségével, de az ASP.NET Coreban ezt eltávolították, mert alaposan megszegi az MVC struktúra alapelveit. Ha feltétlen szükséged van rá, például hogy régebbi kódot támogass, akkor meg lehet kerülni ez a korlátozást - ez esetben az ajánlom, tekintsd meg ezt a StackOverflow kérdést.

HttpContext struktúra

Sok tulajdonság és metódus van a HTTP folyamatokkal kapcsolatban, ezért a rendszerezés érdekében a HttpContext osztály tagjai különböző objektumok közt lettek szétosztva, amelyeket a HttpContext tulajdonságaiként érhetsz el. Íme azoknak a listája, amiket valószínűleg a legtöbbet fogsz használni:

  • HttpContext.Request - minden, ami a jelenlegi kéréshez kapcsolódik, például QueryString, Forms (űrlapok), stb.
  • HttpContext.Response - minden, ami a készülő válasszal kapcsolatos, például sütik és válaszfejlécek
  • HttpContext.Session - minden, ami a jelenlegi munkamenettel kapcsolatos (többnyire kérések közti adatmegtartásra használt)
  • HttpContext.User - minden, ami a (esetlegesen) hitelesített felhasználóval kapcsolatos

A következő cikkekben beletekintünk ezekbe az objektumokba és beszélünk a bennünk található legfontosabb funkcionalitásról.

Összefoglaló

A HttpContext osztály lehetővé teszi, hogy közelebb kerülj a HTTP folyamathoz és hogy alacsonyabb szintű dolgokkal is magad foglalkozz, például QueryStringekkel és sütikkel.


This article has been fully translated into the following languages: Is your preferred language not on the list? Click here to help us translate this article into your language!