Udostępnij za pośrednictwem


HttpContext Klasa

Definicja

Hermetyzuje wszystkie informacje specyficzne dla protokołu HTTP dotyczące pojedynczego żądania HTTP.

public ref class HttpContext sealed : IServiceProvider
public sealed class HttpContext : IServiceProvider
type HttpContext = class
    interface IServiceProvider
Public NotInheritable Class HttpContext
Implements IServiceProvider
Dziedziczenie
HttpContext
Implementuje

Przykłady

W poniższym przykładzie pokazano, jak uzyskać dostęp do właściwości HttpContext obiektu i wyświetlić je. Dostęp do kontekstu bieżącego żądania HTTP jest uzyskiwany przy użyciu Context właściwości Page obiektu .

<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

    protected void Page_Load(object sender, EventArgs e)
    {
        // The HttpContext associated with the page can be accessed by the Context property.
        System.Text.StringBuilder sb = new System.Text.StringBuilder();
        // Use the current HttpContext object to determine if custom errors are enabled.
        sb.Append("Is custom errors enabled: " +
            Context.IsCustomErrorEnabled.ToString() + "<br/>");

        // Use the current HttpContext object to determine if debugging is enabled.
        sb.Append("Is debugging enabled: " +
            Context.IsDebuggingEnabled.ToString() + "<br/>");

        // Use the current HttpContext object to access the current TraceContext object.
        sb.Append("Trace Enabled: " +
            Context.Trace.IsEnabled.ToString() + "<br/>");

        // Use the current HttpContext object to access the current HttpApplicationState object.
        sb.Append("Number of items in Application state: " +
            Context.Application.Count.ToString() + "<br/>");

        // Use the current HttpContext object to access the current HttpSessionState object.
        // Session state may not be configured.
        try
        {
            sb.Append("Number of items in Session state: " +
                Context.Session.Count.ToString() + "<br/>");
        }
        catch
        {
            sb.Append("Session state not enabled. <br/>");
        }

        // Use the current HttpContext object to access the current Cache object.
        sb.Append("Number of items in the cache: " +
            Context.Cache.Count.ToString() + "<br/>");

        // Use the current HttpContext object to determine the timestamp for the current HTTP Request.
        sb.Append("Timestamp for the HTTP request: " +
            Context.Timestamp.ToString() + "<br/>");

        // Assign StringBuilder object to output label.
        OutputLabel.Text = sb.ToString();
    }
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>HttpContext Example</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
       Using the current HttpContext to get information about the current page.
       <br />
       <asp:Label id="OutputLabel" runat="server"></asp:Label>           
    </div>
    </form>
</body>
</html>
<%@ Page Language="VB" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
        ' The HttpContext associated with the page can be accessed by the Context property.
        Dim sb As New System.Text.StringBuilder()

        ' Use the current HttpContext object to determine if custom errors are enabled.
        sb.Append("Is custom errors enabled: " & _
            Context.IsCustomErrorEnabled.ToString() & "<br/>")

        ' Use the current HttpContext object to determine if debugging is enabled.
        sb.Append("Is debugging enabled: " & _
            Context.IsDebuggingEnabled.ToString() & "<br/>")

        ' Use the current HttpContext object to access the current TraceContext object.
        sb.Append("Trace Enabled: " & _
            Context.Trace.IsEnabled.ToString() & "<br/>")

        ' Use the current HttpContext object to access the current HttpApplicationState object.
        sb.Append("Number of items in Application state: " & _
            Context.Application.Count.ToString() & "<br/>")

        ' Use the current HttpContext object to access the current HttpSessionState object.
        ' Session state may not be configured.
        Try
            sb.Append("Number of items in Session state: " & _
                Context.Session.Count.ToString() & "<br/>")
        Catch ex As Exception
            sb.Append("Session state not enabled. <br/>")
        End Try

        ' Use the current HttpContext object to access the current Cache object.
        sb.Append("Number of items in the cache: " & _
            Context.Cache.Count.ToString() & "<br/>")

        ' Use the current HttpContext object to determine the timestamp for the current HTTP Request.
        sb.Append("Timestamp for the HTTP request: " & _
            Context.Timestamp.ToString() & "<br/>")

        ' Assign StringBuilder object to output label.
        OutputLabel.Text = sb.ToString()
    End Sub
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>HttpContext Example</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
       Using the current HttpContext to get information about the current page.
       <br />
       <asp:Label id="OutputLabel" runat="server"></asp:Label>           
    </div>
    </form>
</body>
</html>

Uwagi

Klasy dziedzicujące IHttpModule interfejsy i IHttpHandler są dostarczane odwołanie do HttpContext obiektu dla bieżącego żądania HTTP. Obiekt zapewnia dostęp do właściwości wewnętrznych Request, Responsei Server dla żądania.

Ważne

Ten obiekt jest gotowy do odzyskiwania pamięci po zakończeniu HttpRequest . Jego użycie po zakończeniu żądania może prowadzić do niezdefiniowanego zachowania, takiego jak NullReferenceException.

Ten obiekt jest dostępny tylko w wątku kontrolowanym przez ASP.NET. Użycie w wątkach w tle może prowadzić do niezdefiniowanego zachowania.

Konstruktory

HttpContext(HttpRequest, HttpResponse)

Inicjuje HttpContext nowe wystąpienie klasy przy użyciu określonych obiektów żądania i odpowiedzi.

HttpContext(HttpWorkerRequest)

Inicjuje HttpContext nowe wystąpienie klasy, które używa określonego obiektu worker-request.

Właściwości

AllErrors

Pobiera tablicę błędów skumulowanych podczas przetwarzania żądania HTTP.

AllowAsyncDuringSyncStages

Pobiera lub ustawia wartość wskazującą, czy operacje asynchroniczne są dozwolone podczas części przetwarzania żądań ASP.NET, gdy nie są oczekiwane.

Application

HttpApplicationState Pobiera obiekt dla bieżącego żądania HTTP.

ApplicationInstance

Pobiera lub ustawia HttpApplication obiekt dla bieżącego żądania HTTP.

AsyncPreloadMode

Pobiera lub ustawia obiekt zawierający flagi odnoszące się do trybu wstępnego ładowania asynchronicznego.

Cache

Cache Pobiera obiekt dla bieżącej domeny aplikacji.

Current

Pobiera lub ustawia HttpContext obiekt dla bieżącego żądania HTTP.

CurrentHandler

IHttpHandler Pobiera obiekt reprezentujący aktualnie wykonywany program obsługi.

CurrentNotification

Pobiera wartość wskazującą RequestNotification bieżące HttpApplication zdarzenie, które jest przetwarzane.

Error

Pobiera pierwszy błąd (jeśli istnieje) skumulowany podczas przetwarzania żądań HTTP.

Handler

Pobiera lub ustawia IHttpHandler obiekt odpowiedzialny za przetwarzanie żądania HTTP.

IsCustomErrorEnabled

Pobiera wartość wskazującą, czy błędy niestandardowe są włączone dla bieżącego żądania HTTP.

IsDebuggingEnabled

Pobiera wartość wskazującą, czy bieżące żądanie HTTP jest w trybie debugowania.

IsPostNotification

Pobiera wartość, która jest bieżącym punktem przetwarzania w potoku ASP.NET tuż po zakończeniu przetwarzania zdarzenia HttpApplication .

IsWebSocketRequest

Pobiera wartość wskazującą, czy żądanie jest żądaniem AspNetWebSocket .

IsWebSocketRequestUpgrading

Pobiera wartość wskazującą, czy połączenie jest uaktualniane z połączenia HTTP do AspNetWebSocket połączenia.

Items

Pobiera kolekcję klucz/wartość, która może służyć do organizowania i udostępniania danych między interfejsem IHttpModule a interfejsem IHttpHandler podczas żądania HTTP.

PageInstrumentation

Pobiera odwołanie do wystąpienia usługi instrumentacji strony dla tego żądania.

PreviousHandler

IHttpHandler Pobiera obiekt programu obsługi nadrzędnej.

Profile

ProfileBase Pobiera obiekt dla bieżącego profilu użytkownika.

Request

HttpRequest Pobiera obiekt dla bieżącego żądania HTTP.

Response

HttpResponse Pobiera obiekt dla bieżącej odpowiedzi HTTP.

Server

HttpServerUtility Pobiera obiekt, który udostępnia metody używane do przetwarzania żądań sieci Web.

Session

HttpSessionState Pobiera obiekt dla bieżącego żądania HTTP.

SkipAuthorization

Pobiera lub ustawia wartość określającą, czy UrlAuthorizationModule obiekt powinien pominąć sprawdzanie autoryzacji dla bieżącego żądania.

ThreadAbortOnTimeout

Pobiera lub ustawia wartość określającą, czy środowisko uruchomieniowe ASP.NET powinno wywołać Abort() wątek, który obsługuje to żądanie po przekroczeniu limitu czasu żądania.

Timestamp

Pobiera początkowy znacznik czasu bieżącego żądania HTTP.

Trace

TraceContext Pobiera obiekt dla bieżącej odpowiedzi HTTP.

User

Pobiera lub ustawia informacje o zabezpieczeniach dla bieżącego żądania HTTP.

WebSocketNegotiatedProtocol

Pobiera wynegocjowany protokół, który został wysłany z serwera do klienta na potrzeby AspNetWebSocket połączenia.

WebSocketRequestedProtocols

Pobiera uporządkowaną listę protokołów żądanych przez klienta.

Metody

AcceptWebSocketRequest(Func<AspNetWebSocketContext,Task>)

AspNetWebSocket Akceptuje żądanie przy użyciu określonej funkcji użytkownika.

AcceptWebSocketRequest(Func<AspNetWebSocketContext,Task>, AspNetWebSocketOptions)

AspNetWebSocket Akceptuje żądanie przy użyciu określonej funkcji użytkownika i obiektu opcji.

AddError(Exception)

Dodaje wyjątek do kolekcji wyjątków dla bieżącego żądania HTTP.

AddOnRequestCompleted(Action<HttpContext>)

Zgłasza zdarzenie wirtualne, które występuje po zakończeniu części żądania HTTP.

ClearError()

Czyści wszystkie błędy dla bieżącego żądania HTTP.

DisposeOnPipelineCompleted(IDisposable)

Umożliwia wywoływanie metody obiektu Dispose() po zakończeniu AspNetWebSocket części połączenia tego żądania.

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
GetAppConfig(String)
Przestarzałe.

Zwraca żądane informacje o konfiguracji dla bieżącej aplikacji.

GetConfig(String)
Przestarzałe.

Zwraca żądane informacje o konfiguracji dla bieżącego żądania HTTP.

GetGlobalResourceObject(String, String)

Pobiera obiekt zasobu na poziomie aplikacji na podstawie określonych ClassKey właściwości i ResourceKey .

GetGlobalResourceObject(String, String, CultureInfo)

Pobiera obiekt zasobu na poziomie aplikacji na podstawie określonych ClassKey właściwości i ResourceKey oraz na CultureInfo obiekcie .

GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetLocalResourceObject(String, String)

Pobiera obiekt zasobu na poziomie strony na podstawie określonych VirtualPath właściwości i ResourceKey .

GetLocalResourceObject(String, String, CultureInfo)

Pobiera obiekt zasobu na poziomie strony na podstawie określonych VirtualPath właściwości i ResourceKey oraz na CultureInfo obiekcie .

GetSection(String)

Pobiera określoną sekcję konfiguracji dla domyślnej konfiguracji bieżącej aplikacji.

GetType()

Type Pobiera wartość bieżącego wystąpienia.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
RemapHandler(IHttpHandler)

Umożliwia określenie procedury obsługi dla żądania.

RewritePath(String)

Ponownie zapisuje adres URL przy użyciu podanej ścieżki.

RewritePath(String, Boolean)

Ponownie zapisuje adres URL przy użyciu podanej ścieżki i wartości logicznej, która określa, czy ścieżka wirtualna zasobów serwera jest modyfikowana.

RewritePath(String, String, String)

Ponownie zapisuje adres URL przy użyciu podanej ścieżki, informacji o ścieżce i informacji o ciągu zapytania.

RewritePath(String, String, String, Boolean)

Ponownie zapisuje adres URL przy użyciu podanej ścieżki wirtualnej, informacji o ścieżce, informacji o ciągu zapytania i wartości logicznej określającej, czy ścieżka pliku klienta jest ustawiona na ścieżkę ponownego zapisywania.

SetSessionStateBehavior(SessionStateBehavior)

Ustawia typ zachowania stanu sesji, który jest wymagany do obsługi żądania HTTP.

ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Jawne implementacje interfejsu

IServiceProvider.GetService(Type)

Zwraca obiekt dla bieżącego typu usługi.

Metody rozszerzania

GetKeyedService<T>(IServiceProvider, Object)

Pobiera usługę typu T z klasy IServiceProvider.

GetKeyedServices(IServiceProvider, Type, Object)

Pobiera wyliczenie usług typu serviceType z klasy IServiceProvider.

GetKeyedServices<T>(IServiceProvider, Object)

Pobiera wyliczenie usług typu T z klasy IServiceProvider.

GetRequiredKeyedService(IServiceProvider, Type, Object)

Pobiera usługę typu serviceType z klasy IServiceProvider.

GetRequiredKeyedService<T>(IServiceProvider, Object)

Pobiera usługę typu T z klasy IServiceProvider.

CreateAsyncScope(IServiceProvider)

Tworzy nowy AsyncServiceScope , który może służyć do rozwiązywania problemów z usługami o określonym zakresie.

CreateScope(IServiceProvider)

Tworzy nowy IServiceScope , który może służyć do rozwiązywania problemów z usługami o określonym zakresie.

GetRequiredService(IServiceProvider, Type)

Pobierz usługę typu serviceType z elementu IServiceProvider.

GetRequiredService<T>(IServiceProvider)

Pobierz usługę typu T z elementu IServiceProvider.

GetService<T>(IServiceProvider)

Pobierz usługę typu T z elementu IServiceProvider.

GetServices(IServiceProvider, Type)

Pobierz wyliczenie usług typu serviceType z klasy IServiceProvider.

GetServices<T>(IServiceProvider)

Pobierz wyliczenie usług typu T z klasy IServiceProvider.

GetFakeLogCollector(IServiceProvider)

Pobiera obiekt zbierający rekordy dziennika wysyłane do fałszywego rejestratora.

GetFakeRedactionCollector(IServiceProvider)

Pobiera fałszywe wystąpienie modułu zbierającego redactor z kontenera wstrzykiwania zależności.

Dotyczy

Zobacz też