HttpContext Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Zapouzdřuje všechny informace specifické pro 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 a zobrazit vlastnosti objektu HttpContext . K kontextu aktuálního požadavku HTTP se přistupuje 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í, IHttpHandler jsou poskytovány odkaz na HttpContext objekt pro aktuální požadavek HTTP. Objekt poskytuje přístup k vnitřní Request, Responsea Server vlastnosti požadavku.
Důležité
Tento objekt je připravený pro uvolňování paměti po HttpRequest dokončení. Jeho použití po dokončení požadavku může vést k nedefinované chování, jako NullReferenceExceptionje 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ýmu chování.
Konstruktory
| Name | Description |
|---|---|
| HttpContext(HttpRequest, HttpResponse) |
Inicializuje novou instanci HttpContext třídy pomocí zadaného objektu požadavku a odpovědi. |
| HttpContext(HttpWorkerRequest) |
Inicializuje novou instanci HttpContext třídy, která používá zadaný objekt worker-request. |
Vlastnosti
| Name | Description |
|---|---|
| AllErrors |
Získá pole chyb kumulovaný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í zpracování ASP.NET žádosti, pokud nejsou očekávané. |
| 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 preload režimu. |
| 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 označující aktuální HttpApplication událost, která zpracovává. |
| Error |
Získá první chybu (pokud existuje) kumulovaný 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 pro aktuální požadavek HTTP povoleny vlastní chyby. |
| IsDebuggingEnabled |
Získá hodnotu urč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á kolekci klíč/hodnota, která se dá použít k uspořádání a sdílení dat mezi IHttpModule rozhraním a IHttpHandler 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 autorizační kontrolu aktuálního požadavku. |
| ThreadAbortOnTimeout |
Získá nebo nastaví hodnotu, která určuje, zda má modul runtime ASP.NET volat Abort() ve vlákně, které tento požadavek obsluhuje, 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 klientovi pro AspNetWebSocket připojení. |
| WebSocketRequestedProtocols |
Získá seřazený seznam protokolů požadovaných klientem. |
Metody
| Name | Description |
|---|---|
| AcceptWebSocketRequest(Func<AspNetWebSocketContext,Task>, AspNetWebSocketOptions) |
AspNetWebSocket Přijme požadavek pomocí zadané funkce uživatele a objektu možností. |
| AcceptWebSocketRequest(Func<AspNetWebSocketContext,Task>) |
AspNetWebSocket Přijme požadavek pomocí zadané funkce uživatele. |
| AddError(Exception) |
Přidá výjimku do kolekce výjimek pro aktuální požadavek HTTP. |
| AddOnRequestCompleted(Action<HttpContext>) |
Vyvolá virtuální událost, která nastane při ukončení části požadavku HTTP. |
| ClearError() |
Vymaže všechny chyby aktuálního požadavku HTTP. |
| DisposeOnPipelineCompleted(IDisposable) |
Umožňuje volat metodu Dispose() objektu při AspNetWebSocket dokončení připojení části tohoto požadavku. |
| Equals(Object) |
Určuje, zda je zadaný objekt roven 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é informace o konfiguraci pro aktuální požadavek HTTP. |
| GetGlobalResourceObject(String, String, CultureInfo) |
Získá objekt prostředku na úrovni aplikace na základě zadaných ClassKey a ResourceKey vlastností a objektu CultureInfo . |
| GetGlobalResourceObject(String, String) |
Získá objekt prostředku na úrovni aplikace na základě zadaných ClassKey a ResourceKey vlastností. |
| GetHashCode() |
Slouží jako výchozí funkce hash. (Zděděno od Object) |
| GetLocalResourceObject(String, String, CultureInfo) |
Získá objekt prostředku na úrovni stránky na základě zadaných VirtualPath a ResourceKey vlastností a objektu CultureInfo . |
| GetLocalResourceObject(String, String) |
Získá objekt prostředku na úrovni stránky na základě zadaných VirtualPath a ResourceKey vlastností. |
| GetSection(String) |
Získá zadaný oddíl konfigurace pro výchozí konfiguraci aktuální aplikace. |
| GetType() |
Získá Type aktuální instance. (Zděděno od Object) |
| MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Object. (Zděděno od Object) |
| RemapHandler(IHttpHandler) |
Umožňuje zadat obslužnou rutinu požadavku. |
| RewritePath(String, Boolean) |
Přepíše adresu URL pomocí dané cesty a logické hodnoty, která určuje, zda je virtuální cesta pro prostředky serveru upravena. |
| 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 přepsání. |
| RewritePath(String, String, String) |
Přepíše adresu URL pomocí dané cesty, informací o cestě a informací o řetězci dotazu. |
| RewritePath(String) |
Přepíše adresu URL pomocí dané cesty. |
| SetSessionStateBehavior(SessionStateBehavior) |
Nastaví typ chování stavu relace, které je vyžadováno pro podporu požadavku HTTP. |
| ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |
Explicitní implementace rozhraní
| Name | Description |
|---|---|
| IServiceProvider.GetService(Type) |
Vrátí objekt pro aktuální typ služby. |