Sdílet prostřednictvím


HttpContext Třída

Definice

Zapouzdří všechny informace specifické pro protokol HTTP o jednotlivých požadavcích HTTP.

public ref class HttpContext sealed : IServiceProvider
public sealed class HttpContext : IServiceProvider
type HttpContext = class
    interface IServiceProvider
Public NotInheritable Class HttpContext
Implements IServiceProvider
Dědičnost
HttpContext
Implementuje

Příklady

Následující příklad ukazuje, jak získat přístup k vlastnostem objektu a zobrazit je HttpContext . Kontext aktuálního požadavku HTTP je přístupný pomocí Context vlastnosti objektu Page .

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

Poznámky

Třídy, které dědí IHttpModule rozhraní a IHttpHandler , jsou poskytovány odkazem HttpContext na objekt pro aktuální požadavek HTTP. Objekt poskytuje přístup k vnitřním Requestvlastnostem , Responsea Server pro požadavek.

Důležité

Po dokončení je tento objekt připraven k uvolňování HttpRequest paměti. Jeho použití po dokončení požadavku může vést k nedefinovaným chováním NullReferenceException, jako je například .

Tento objekt je k dispozici pouze ve vlákně řízeném ASP.NET. Použití ve vláknech na pozadí může vést k nedefinovaným chováním.

Konstruktory

HttpContext(HttpRequest, HttpResponse)

Inicializuje novou instanci HttpContext třídy pomocí zadaný požadavek a odpověď objekty.

HttpContext(HttpWorkerRequest)

Inicializuje novou instanci HttpContext třídy, která používá zadaný objekt worker-request.

Vlastnosti

AllErrors

Získá pole chyb shromážděných při zpracování požadavku HTTP.

AllowAsyncDuringSyncStages

Získá nebo nastaví hodnotu, která označuje, zda asynchronní operace jsou povoleny během částí ASP.NET zpracování požadavků, pokud nejsou očekávány.

Application

HttpApplicationState Získá objekt pro aktuální požadavek HTTP.

ApplicationInstance

Získá nebo nastaví HttpApplication objekt pro aktuální požadavek HTTP.

AsyncPreloadMode

Získá nebo nastaví objekt, který obsahuje příznaky, které se týkají asynchronního režimu před načtením.

Cache

Cache Získá objekt pro aktuální doménu aplikace.

Current

Získá nebo nastaví HttpContext objekt pro aktuální požadavek HTTP.

CurrentHandler

IHttpHandler Získá objekt, který představuje aktuálně spuštěnou obslužnou rutinu.

CurrentNotification

RequestNotification Získá hodnotu, která označuje aktuální HttpApplication událost, která se zpracovává.

Error

Získá první chybu (pokud existuje) nahromaděná během zpracování požadavku HTTP.

Handler

Získá nebo nastaví IHttpHandler objekt zodpovědný za zpracování požadavku HTTP.

IsCustomErrorEnabled

Získá hodnotu označující, zda jsou povoleny vlastní chyby pro aktuální požadavek HTTP.

IsDebuggingEnabled

Získá hodnotu označující, zda aktuální požadavek HTTP je v režimu ladění.

IsPostNotification

Získá hodnotu, která je aktuálním bodem zpracování v kanálu ASP.NET těsně po HttpApplication dokončení zpracování události.

IsWebSocketRequest

Získá hodnotu, která označuje, zda požadavek je AspNetWebSocket požadavek.

IsWebSocketRequestUpgrading

Získá hodnotu, která označuje, zda připojení upgraduje z připojení HTTP na AspNetWebSocket připojení.

Items

Získá klíč/hodnota kolekce, která lze použít k uspořádání a sdílení dat mezi IHttpModule rozhraním IHttpHandler a rozhraním během požadavku HTTP.

PageInstrumentation

Získá odkaz na instanci služby instrumentace stránky pro tento požadavek.

PreviousHandler

IHttpHandler Získá objekt pro nadřazenou obslužnou rutinu.

Profile

ProfileBase Získá objekt pro aktuální profil uživatele.

Request

HttpRequest Získá objekt pro aktuální požadavek HTTP.

Response

HttpResponse Získá objekt pro aktuální odpověď HTTP.

Server

HttpServerUtility Získá objekt, který poskytuje metody používané při zpracování webových požadavků.

Session

HttpSessionState Získá objekt pro aktuální požadavek HTTP.

SkipAuthorization

Získá nebo nastaví hodnotu, která určuje, zda UrlAuthorizationModule objekt má přeskočit kontrolu autorizace pro aktuální požadavek.

ThreadAbortOnTimeout

Získá nebo nastaví hodnotu, která určuje, zda ASP.NET runtime má volat Abort() ve vlákně, které obsluhuje tento požadavek, když vyprší časový limit požadavku.

Timestamp

Získá počáteční časové razítko aktuálního požadavku HTTP.

Trace

TraceContext Získá objekt pro aktuální odpověď HTTP.

User

Získá nebo nastaví informace o zabezpečení pro aktuální požadavek HTTP.

WebSocketNegotiatedProtocol

Získá vyjednaný protokol, který byl odeslán ze serveru klienta pro AspNetWebSocket připojení.

WebSocketRequestedProtocols

Získá seřazený seznam protokolů požadovaných klientem.

Metody

AcceptWebSocketRequest(Func<AspNetWebSocketContext,Task>)

AspNetWebSocket Přijme požadavek pomocí zadané funkce uživatele.

AcceptWebSocketRequest(Func<AspNetWebSocketContext,Task>, AspNetWebSocketOptions)

AspNetWebSocket Přijme požadavek pomocí zadané uživatelské funkce a objektu options.

AddError(Exception)

Přidá výjimku do kolekce výjimek pro aktuální požadavek HTTP.

AddOnRequestCompleted(Action<HttpContext>)

Vyvolá virtuální událost, ke které dochází, když končí část požadavku HTTP.

ClearError()

Vymaže všechny chyby aktuálního požadavku HTTP.

DisposeOnPipelineCompleted(IDisposable)

Umožňuje volat metodu objektu Dispose()AspNetWebSocket po dokončení části připojení tohoto požadavku.

Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

(Zděděno od Object)
GetAppConfig(String)
Zastaralé.

Vrátí požadované informace o konfiguraci pro aktuální aplikaci.

GetConfig(String)
Zastaralé.

Vrátí požadované konfigurační informace pro aktuální požadavek HTTP.

GetGlobalResourceObject(String, String)

Získá objekt prostředku na úrovni aplikace na základě zadaných ClassKey a ResourceKey vlastností.

GetGlobalResourceObject(String, String, CultureInfo)

Získá objekt prostředku na úrovni aplikace na základě zadaných ClassKey vlastností a ResourceKey na objektu CultureInfo .

GetHashCode()

Slouží jako výchozí hashovací funkce.

(Zděděno od Object)
GetLocalResourceObject(String, String)

Získá objekt prostředku na úrovni stránky na základě zadaných VirtualPath a ResourceKey vlastností.

GetLocalResourceObject(String, String, CultureInfo)

Získá objekt prostředku na úrovni stránky na základě zadaných VirtualPath a ResourceKey vlastností a na objektu CultureInfo .

GetSection(String)

Získá zadanou část konfigurace pro aktuální výchozí konfiguraci aplikace.

GetType()

Získá aktuální Type instanci.

(Zděděno od Object)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Objectsouboru .

(Zděděno od Object)
RemapHandler(IHttpHandler)

Umožňuje zadat obslužnou rutinu pro požadavek.

RewritePath(String)

Přepíše adresu URL pomocí dané cesty.

RewritePath(String, Boolean)

Přepíše adresu URL pomocí dané cesty a logické hodnoty, která určuje, jestli se změní virtuální cesta k prostředkům serveru.

RewritePath(String, String, String)

Přepíše adresu URL pomocí zadané cesty, informací o cestě a informací o řetězci dotazu.

RewritePath(String, String, String, Boolean)

Přepíše adresu URL pomocí dané virtuální cesty, informací o cestě, informací o řetězci dotazu a logické hodnoty, která určuje, jestli je cesta k souboru klienta nastavená na cestu pro přepis.

SetSessionStateBehavior(SessionStateBehavior)

Nastaví typ chování stavu relace, který se vyžaduje pro podporu požadavku HTTP.

ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Explicitní implementace rozhraní

IServiceProvider.GetService(Type)

Vrátí objekt pro aktuální typ služby.

Metody rozšíření

GetKeyedService<T>(IServiceProvider, Object)

Získá službu typu T z IServiceProvider.

GetKeyedServices(IServiceProvider, Type, Object)

Získá výčet služeb typu serviceType z IServiceProvider.

GetKeyedServices<T>(IServiceProvider, Object)

Získá výčet služeb typu T z IServiceProvider.

GetRequiredKeyedService(IServiceProvider, Type, Object)

Získá službu typu serviceType z IServiceProvider.

GetRequiredKeyedService<T>(IServiceProvider, Object)

Získá službu typu T z IServiceProvider.

CreateAsyncScope(IServiceProvider)

Vytvoří nový AsyncServiceScope , který lze použít k řešení problémů s vymezeným oborem služeb.

CreateScope(IServiceProvider)

Vytvoří nový IServiceScope , který lze použít k řešení problémů s vymezeným oborem služeb.

GetRequiredService(IServiceProvider, Type)

Získejte službu typu serviceType z IServiceProvider.

GetRequiredService<T>(IServiceProvider)

Získejte službu typu T z IServiceProvider.

GetService<T>(IServiceProvider)

Získejte službu typu T z IServiceProvider.

GetServices(IServiceProvider, Type)

Získejte výčet služeb typu serviceType z .IServiceProvider

GetServices<T>(IServiceProvider)

Získejte výčet služeb typu T z .IServiceProvider

GetFakeLogCollector(IServiceProvider)

Získá objekt, který shromažďuje záznamy protokolu odesílané do falešného protokolovacího nástroje.

GetFakeRedactionCollector(IServiceProvider)

Získá falešné redactor kolektor instance z kontejneru injektáž závislostí.

Platí pro

Viz také