HttpContext Klasse

Definition

Kapselt alle HTTP-spezifischen Informationen über eine einzelne 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 Sie auf Eigenschaften des HttpContext Objekts zugreifen und anzeigen können. Der Kontext der aktuellen HTTP-Anforderung wird mithilfe Context der 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 IHttpHandler Schnittstellen erben, werden ein 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.

Wichtig

Dieses Objekt ist bereit für die Garbage Collection, wenn dies HttpRequest abgeschlossen ist. Die Verwendung nach Abschluss der Anforderung kann zu nicht definiertem 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

HttpContext(HttpRequest, HttpResponse)

Initialisiert eine neue Instanz der HttpContext-Klasse mit den angegebenen Anforderungs- und Antwortobjekten.

HttpContext(HttpWorkerRequest)

Initialisiert eine neue Instanz der HttpContext-Klasse mit dem angegebenen Arbeitsanforderungsobjekt.

Eigenschaften

AllErrors

Ruft ein Array von Fehlern ab, die beim Verarbeiten einer HTTP-Anforderung angesammelt wurden.

AllowAsyncDuringSyncStages

Ruft einen Wert ab oder legt diesen fest, der angibt, ob asynchrone Vorgänge während Teilen der ASP.NET-Anfragenverarbeitung erlaubt sind, wenn sie nicht erwartet werden.

Application

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

ApplicationInstance

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

AsyncPreloadMode

Ruft ein Objekt ab oder legt ein Objekt fest, das die Flags enthält, die den asynchronen Vorablademodus betreffen.

Cache

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

Current

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

CurrentHandler

Ruft das IHttpHandler-Objekt ab, das den derzeit ausführenden Handler darstellt.

CurrentNotification

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

Error

Ruft ggf. den ersten Fehler ab, der beim Verarbeiten einer HTTP-Anforderung aufgezeichnet wurde.

Handler

Ruft das für die Verarbeitung der HTTP-Anforderung verantwortliche IHttpHandler-Objekt ab oder legt dieses fest.

IsCustomErrorEnabled

Ruft einen Wert ab, der angibt, ob für die aktuelle HTTP-Anforderung benutzerdefinierte Fehler 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, gleich nachdem ein HttpApplication-Ereignis die Verarbeitung beendet hat.

IsWebSocketRequest

Ruft einen Wert ab, der angibt, ob es sich bei der Anforderung um eine AspNetWebSocket-Anforderung handelt.

IsWebSocketRequestUpgrading

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

Items

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

PageInstrumentation

Ruft einen Verweis auf die Instanz für Seiteninstrumentierungsdienste 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 die bei der Verarbeitung von Webanforderungen verwendeten Methoden bereitstellt.

Session

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

SkipAuthorization

Ruft einen Wert ab, der angibt, ob das UrlAuthorizationModule-Objekt die Autorisierungsprüfung für die aktuelle Anforderung überspringen soll, oder legt diesen Wert fest.

ThreadAbortOnTimeout

Ruft einen Wert ab oder legt diesen fest, der angibt, ob die ASP.NET-Laufzeit die Abort() in der Zeichenfolge aufrufen sollte, welche diese Anforderung bedient, wenn die Zeit für diese Anforderung überschritten wird.

Timestamp

Ruft den Ausgangstimestamp der aktuellen HTTP-Anforderung ab.

Trace

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

User

Ruft die 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 von Protokollen ab, die vom Client angefordert werden.

Methoden

AcceptWebSocketRequest(Func<AspNetWebSocketContext,Task>)

Akzeptiert eine AspNetWebSocket Anforderung unter Verwendung der angegebenen Benutzerfunktion.

AcceptWebSocketRequest(Func<AspNetWebSocketContext,Task>, AspNetWebSocketOptions)

Akzeptiert eine AspNetWebSocket-Anforderung mit dem angegebenen Benutzerfunktions- und Options-Objekt.

AddError(Exception)

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

AddOnRequestCompleted(Action<HttpContext>)

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

ClearError()

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

DisposeOnPipelineCompleted(IDisposable)

Aktiviert die Dispose()-Methode eines Objekts, wenn der AspNetWebSocket-Verbindungsteil der Anforderung abgeschlossen ist.

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetAppConfig(String)
Veraltet.

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

GetConfig(String)
Veraltet.

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

GetGlobalResourceObject(String, String)

Ruft auf der Grundlage der angegebenen ClassKey-Eigenschaft und ResourceKey-Eigenschaft ein Ressourcenobjekt auf Anwendungsebene ab.

GetGlobalResourceObject(String, String, CultureInfo)

Ruft auf der Grundlage der angegebenen ClassKey-Eigenschaft und ResourceKey-Eigenschaft sowie des angegebenen CultureInfo-Objekts ein Ressourcenobjekt auf Anwendungsebene ab.

GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetLocalResourceObject(String, String)

Ruft auf der Grundlage der angegebenen VirtualPath-Eigenschaft und ResourceKey-Eigenschaft ein Ressourcenobjekt auf Seitenebene ab.

GetLocalResourceObject(String, String, CultureInfo)

Ruft auf der Grundlage der angegebenen VirtualPath-Eigenschaft und ResourceKey-Eigenschaft sowie des angegebenen CultureInfo-Objekts ein Ressourcenobjekt auf Seitenebene ab.

GetSection(String)

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

GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
RemapHandler(IHttpHandler)

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

RewritePath(String)

Ändert die URL mit dem angegebenen Pfad.

RewritePath(String, Boolean)

Ändert die URL mit dem angegebenen Pfad und einem booleschen Wert, der angibt, ob der virtuelle Pfad für die Serverressource geändert wird.

RewritePath(String, String, String)

Ändert die URL unter Verwendung des angegebenen Pfads, der Pfadinformationen und der Informationen über die Abfragezeichenfolge.

RewritePath(String, String, String, Boolean)

Ändert die URL mit dem angegebenen virtuellen Pfad, den angegebenen Pfadinformationen, den angegebenen Zeichenfolgeninformationen und einem booleschen Wert, der angibt, ob der Pfad mit dem Clientdateipfad neu geschrieben wird.

SetSessionStateBehavior(SessionStateBehavior)

Legt den Typ des Sitzungszustandsverhaltens fest, der zur Unterstützung von HTTP-Anforderungen erforderlich ist.

ToString()

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

(Geerbt von Object)

Explizite Schnittstellenimplementierungen

IServiceProvider.GetService(Type)

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

Gilt für

Siehe auch