Freigeben über


HttpContext Klasse

Definition

Kapselt alle HTTP-spezifischen Informationen zu einer einzelnen HTTP-Anforderung.

public ref class HttpContext sealed : IServiceProvider
public sealed class HttpContext : IServiceProvider
type HttpContext = class
    interface IServiceProvider
Public NotInheritable Class HttpContext
Implements IServiceProvider
Vererbung
HttpContext
Implementiert

Beispiele

Im folgenden Beispiel wird veranschaulicht, wie auf Eigenschaften des HttpContext Objekts zugegriffen und angezeigt wird. Auf den Kontext der aktuellen HTTP-Anforderung wird mithilfe der Context Eigenschaft des Page Objekts zugegriffen.

<%@ 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>

Hinweise

Klassen, die die IHttpModule Schnittstellen IHttpHandler erben, werden einen Verweis auf ein HttpContext Objekt für die aktuelle HTTP-Anforderung bereitgestellt. Das Objekt bietet Zugriff auf die systeminternen Request, Responseund Server Eigenschaften für die Anforderung.

Von Bedeutung

Dieses Objekt ist bereit für die Garbage Collection, wenn der HttpRequest Vorgang abgeschlossen ist. Die Verwendung nach Abschluss der Anforderung kann zu einem nicht definierten Verhalten führen, z. B. ein NullReferenceException.

Dieses Objekt ist nur im thread verfügbar, der von ASP.NET gesteuert wird. Die Verwendung in Hintergrundthreads kann zu einem nicht definierten Verhalten führen.

Konstruktoren

Name Beschreibung
HttpContext(HttpRequest, HttpResponse)

Initialisiert eine neue Instanz der Klasse mithilfe der HttpContext angegebenen Anforderungs- und Antwortobjekte.

HttpContext(HttpWorkerRequest)

Initialisiert eine neue Instanz der HttpContext Klasse, die das angegebene Workeranforderungsobjekt verwendet.

Eigenschaften

Name Beschreibung
AllErrors

Ruft ein Array von Fehlern ab, die während der Verarbeitung einer HTTP-Anforderung gesammelt wurden.

AllowAsyncDuringSyncStages

Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob asynchrone Vorgänge in Teilen ASP.NET Anforderungsverarbeitung zulässig sind, wenn sie nicht erwartet werden.

Application

Ruft das HttpApplicationState Objekt für die aktuelle HTTP-Anforderung ab.

ApplicationInstance

Ruft ab oder legt das HttpApplication Objekt für die aktuelle HTTP-Anforderung fest.

AsyncPreloadMode

Dient zum Abrufen oder Festlegen eines Objekts, das Flags enthält, die sich auf den asynchronen Vorlademodus beziehen.

Cache

Ruft das Cache Objekt für die aktuelle Anwendungsdomäne ab.

Current

Ruft ab oder legt das HttpContext Objekt für die aktuelle HTTP-Anforderung fest.

CurrentHandler

Ruft das IHttpHandler Objekt ab, das den derzeit ausgeführten Handler darstellt.

CurrentNotification

Ruft einen RequestNotification Wert ab, der das aktuelle HttpApplication Ereignis angibt, das verarbeitet wird.

Error

Ruft den ersten Fehler (falls vorhanden) während der HTTP-Anforderungsverarbeitung gesammelt ab.

Handler

Ruft ab oder legt das Objekt fest, das IHttpHandler für die Verarbeitung der HTTP-Anforderung verantwortlich ist.

IsCustomErrorEnabled

Ruft einen Wert ab, der angibt, ob benutzerdefinierte Fehler für die aktuelle HTTP-Anforderung aktiviert sind.

IsDebuggingEnabled

Ruft einen Wert ab, der angibt, ob sich die aktuelle HTTP-Anforderung im Debugmodus befindet.

IsPostNotification

Ruft einen Wert ab, der der aktuelle Verarbeitungspunkt in der ASP.NET Pipeline ist, unmittelbar nachdem ein HttpApplication Ereignis die Verarbeitung abgeschlossen hat.

IsWebSocketRequest

Ruft einen Wert ab, der angibt, ob die Anforderung eine AspNetWebSocket Anforderung ist.

IsWebSocketRequestUpgrading

Ruft einen Wert ab, der angibt, ob die Verbindung von einer HTTP-Verbindung auf eine AspNetWebSocket Verbindung aktualisiert wird.

Items

Ruft eine Schlüssel-/Wertauflistung ab, die zum Organisieren und Freigeben von Daten zwischen einer IHttpModule Schnittstelle und einer IHttpHandler Schnittstelle während einer HTTP-Anforderung verwendet werden kann.

PageInstrumentation

Ruft einen Verweis auf die Instanz des Seiteninstrumentationsdiensts für diese Anforderung ab.

PreviousHandler

Ruft das IHttpHandler Objekt für den übergeordneten Handler ab.

Profile

Ruft das ProfileBase Objekt für das aktuelle Benutzerprofil ab.

Request

Ruft das HttpRequest Objekt für die aktuelle HTTP-Anforderung ab.

Response

Ruft das HttpResponse Objekt für die aktuelle HTTP-Antwort ab.

Server

Ruft das HttpServerUtility Objekt ab, das Methoden zum Verarbeiten von Webanforderungen bereitstellt.

Session

Ruft das HttpSessionState Objekt für die aktuelle HTTP-Anforderung ab.

SkipAuthorization

Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob das UrlAuthorizationModule Objekt die Autorisierungsprüfung für die aktuelle Anforderung überspringen soll.

ThreadAbortOnTimeout

Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob die ASP.NET Laufzeit den Thread aufrufen Abort() soll, der diese Anforderung gewartet, wenn die Anforderung ausgeht.

Timestamp

Ruft den anfänglichen Zeitstempel der aktuellen HTTP-Anforderung ab.

Trace

Ruft das TraceContext Objekt für die aktuelle HTTP-Antwort ab.

User

Ruft Sicherheitsinformationen für die aktuelle HTTP-Anforderung ab oder legt diese fest.

WebSocketNegotiatedProtocol

Ruft das ausgehandelte Protokoll ab, das vom Server an den Client für eine AspNetWebSocket Verbindung gesendet wurde.

WebSocketRequestedProtocols

Ruft die sortierte Liste der vom Client angeforderten Protokolle ab.

Methoden

Name Beschreibung
AcceptWebSocketRequest(Func<AspNetWebSocketContext,Task>, AspNetWebSocketOptions)

Akzeptiert eine AspNetWebSocket Anforderung mithilfe der angegebenen Benutzerfunktion und des Optionsobjekts.

AcceptWebSocketRequest(Func<AspNetWebSocketContext,Task>)

Akzeptiert eine AspNetWebSocket Anforderung mithilfe der angegebenen Benutzerfunktion.

AddError(Exception)

Fügt der Ausnahmeauflistung für die aktuelle HTTP-Anforderung eine Ausnahme hinzu.

AddOnRequestCompleted(Action<HttpContext>)

Löst ein virtuelles Ereignis aus, das auftritt, wenn der HTTP-Teil der Anforderung beendet wird.

ClearError()

Löscht alle Fehler für die aktuelle HTTP-Anforderung.

DisposeOnPipelineCompleted(IDisposable)

Ermöglicht das Aufrufen der Methode eines Objekts Dispose() , wenn der AspNetWebSocket Verbindungsteil dieser Anforderung abgeschlossen ist.

Equals(Object)

Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht.

(Geerbt von Object)
GetAppConfig(String)
Veraltet.

Gibt angeforderte Konfigurationsinformationen für die aktuelle Anwendung zurück.

GetConfig(String)
Veraltet.

Gibt angeforderte Konfigurationsinformationen für die aktuelle HTTP-Anforderung zurück.

GetGlobalResourceObject(String, String, CultureInfo)

Ruft ein Ressourcenobjekt auf Anwendungsebene basierend auf den angegebenen ClassKey und Eigenschaften und ResourceKey auf dem CultureInfo Objekt ab.

GetGlobalResourceObject(String, String)

Ruft ein Ressourcenobjekt auf Anwendungsebene basierend auf den angegebenen ClassKey und ResourceKey Eigenschaften ab.

GetHashCode()

Dient als Standardhashfunktion.

(Geerbt von Object)
GetLocalResourceObject(String, String, CultureInfo)

Ruft ein Ressourcenobjekt auf Seitenebene basierend auf den angegebenen VirtualPath und Eigenschaften und ResourceKey auf dem CultureInfo Objekt ab.

GetLocalResourceObject(String, String)

Ruft ein Ressourcenobjekt auf Seitenebene basierend auf den angegebenen VirtualPath und ResourceKey Eigenschaften ab.

GetSection(String)

Ruft einen angegebenen Konfigurationsabschnitt für die Standardkonfiguration der aktuellen Anwendung ab.

GetType()

Ruft die Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie der aktuellen Object.

(Geerbt von Object)
RemapHandler(IHttpHandler)

Ermöglicht es Ihnen, einen Handler für die Anforderung anzugeben.

RewritePath(String, Boolean)

Schreibt die URL mithilfe des angegebenen Pfads und eines booleschen Werts um, der angibt, ob der virtuelle Pfad für Serverressourcen geändert wird.

RewritePath(String, String, String, Boolean)

Schreibt die URL mithilfe des angegebenen virtuellen Pfads, pfadinformationen, Abfragezeichenfolgeninformationen und einen booleschen Wert um, der angibt, ob der Clientdateipfad auf den Umschreibpfad festgelegt ist.

RewritePath(String, String, String)

Schreibt die URL mithilfe des angegebenen Pfads, der Pfadinformationen und der Abfragezeichenfolgeninformationen neu.

RewritePath(String)

Schreibt die URL mithilfe des angegebenen Pfads neu.

SetSessionStateBehavior(SessionStateBehavior)

Legt den Typ des Sitzungszustandsverhaltens fest, das erforderlich ist, um eine HTTP-Anforderung zu unterstützen.

ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Explizite Schnittstellenimplementierungen

Name Beschreibung
IServiceProvider.GetService(Type)

Gibt ein Objekt für den aktuellen Diensttyp zurück.

Gilt für:

Weitere Informationen