|
|
Opublikowano 13.03.2018 21:28:21
|
|
|

Co oznacza słowo HttpContext w .ashx? Porozmawiajmy o tym z tobą
Klasa HttpContext: Enkapsuluje wszystkie informacje specyficzne dla HTTP dotyczące poszczególnych żądań HTTP.
Na każdym etapie łańcucha realizacji żądań przetwarzanych istnieje obiekt, który przekazuje się między obiektami, czyli przechowywane są informacje kontekstowe żądania, czyli obiekt HttpContext. HttpContext zawiera wszystkie informacje ASP.NET pojedynczego żądania do przetworzenia. Po ustanowieniu mechanizmu obsługi żądań, klasa HttpContext jest instancjonowana za pomocą obiektu HttpRuntime, który następnie przechodzi przez różne etapy życia żądania
Wprowadzenie do HttpContext: Utrzymywanie danych dla jednego użytkownika, pojedynczego żądania, a dane są przechowywane tylko przez czas trwania tego żądania. jest udostępniany w celu utrzymania wartości wymaganych do przekazania między różnymi HttpModules i HttpHandlerami. Może być również używany do przechowywania odpowiednich informacji dla pełnego wniosku.
Właściwość Current jest użytecznym elementem statycznym, który zwraca aktualnie żądany obiekt HttpContex. Elementy to tabele skrótu, które dzielą dane między modułami a obsługiwaczami zaangażowanymi w przetwarzanie żądań. Każdy niestandardowy moduł lub handler może dodać własne informacje do żądanego obiektu HttpContext, a informacje przechowywane w Items są ostatecznie wykorzystywane przez stronę, ale dostęp do tych informacji jest możliwy tylko podczas wykonywania żądania HttpContext Definicja: Enkapsuluje wszystkie informacje specyficzne dla HTTP dotyczące poszczególnych żądań HTTP.
W rzeczywistości żądanie HTTP i wszystkie zwrócone informacje są w nim zawarte.
HttpContext pochodzi z System.Runtime.Remoting.Messaging.CallContext.HostContext. Ta definicja HostContext polega na uzyskaniu lub ustawieniu kontekstu hosta powiązanego z bieżącym wątkiem (tak więc HttpContext może być używany tylko w wątku aktualnego żądania). )
HttpContext jest faktycznie przechowywany w własności CallContext.HostContextJeśli nadal interesuje Cię HostContext, możesz zobaczyć go sam na Reflector.exe, nie chcę już publikować kodu, bo niektóre typy i metody nie są publiczne.
HttpContext.Current.Items można używać podczas udostępniania danych między HttpModule a HTTPHandler, ponieważ każde żądanie użytkownika przechodzi przez pipeline wykonawczy HTTP HttpModule, HTTPHandler. Gdy implementujesz metodę IHttpMoudle, aby przekazać informacje użytkownikowi, zażądasz przez HttpMoudle. Możesz użyć HttpContext.Current.Items do przesyłania danych na różnych stronach żądań i różnych HttpModules, ale gdy żądanie się zakończy i dane zostaną opublikowane, dane w tej kolekcji same zostaną utracone.
Na przykład, za każdym razem, gdy składamy żądanie, chcemy użyć tego samego kontekstowego obiektu DbContext w ef, a kod wygląda następująco:
|
Poprzedni:Określ, czy odwiedzający jest telefonem komórkowym, czy komputerem na podstawie UserAgentaNastępny:Asp.Net Wprowadzenie IHttpHandler
|