HttpContext Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Encapsula toda la información específica de HTTP sobre una solicitud HTTP individual.
public ref class HttpContext sealed : IServiceProvider
public sealed class HttpContext : IServiceProvider
type HttpContext = class
interface IServiceProvider
Public NotInheritable Class HttpContext
Implements IServiceProvider
- Herencia
-
HttpContext
- Implementaciones
Ejemplos
En el ejemplo siguiente se muestra cómo acceder a las propiedades del HttpContext objeto y mostrarlas. Se obtiene acceso al contexto de la solicitud HTTP actual mediante la Context propiedad del Page objeto .
<%@ 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>
Comentarios
Las clases que heredan las IHttpModule interfaces y IHttpHandler se proporcionan una referencia a un HttpContext objeto para la solicitud HTTP actual. El objeto proporciona acceso a las propiedades intrínsecas Request, Responsey Server de la solicitud.
Importante
Este objeto está listo para la recolección de elementos no utilizados cuando HttpRequest se completa. Su uso después de que se complete la solicitud podría provocar un comportamiento indefinido, como .NullReferenceException
Este objeto solo está disponible en el subproceso controlado por ASP.NET. El uso en subprocesos en segundo plano podría provocar un comportamiento indefinido.
Constructores
| Nombre | Description |
|---|---|
| HttpContext(HttpRequest, HttpResponse) |
Inicializa una nueva instancia de la HttpContext clase utilizando los objetos de solicitud y respuesta especificados. |
| HttpContext(HttpWorkerRequest) |
Inicializa una nueva instancia de la HttpContext clase que usa el objeto worker-request especificado. |
Propiedades
| Nombre | Description |
|---|---|
| AllErrors |
Obtiene una matriz de errores acumulados al procesar una solicitud HTTP. |
| AllowAsyncDuringSyncStages |
Obtiene o establece un valor que indica si se permiten operaciones asincrónicas durante partes de ASP.NET procesamiento de solicitudes cuando no se esperan. |
| Application |
Obtiene el HttpApplicationState objeto de la solicitud HTTP actual. |
| ApplicationInstance |
Obtiene o establece el HttpApplication objeto de la solicitud HTTP actual. |
| AsyncPreloadMode |
Obtiene o establece un objeto que contiene marcas que pertenecen al modo de precarga asincrónica. |
| Cache |
Obtiene el Cache objeto del dominio de aplicación actual. |
| Current |
Obtiene o establece el HttpContext objeto de la solicitud HTTP actual. |
| CurrentHandler |
Obtiene el IHttpHandler objeto que representa el controlador que se está ejecutando actualmente. |
| CurrentNotification |
Obtiene un RequestNotification valor que indica el evento actual HttpApplication que se está procesando. |
| Error |
Obtiene el primer error (si existe) acumulado durante el procesamiento de solicitudes HTTP. |
| Handler |
Obtiene o establece el IHttpHandler objeto responsable de procesar la solicitud HTTP. |
| IsCustomErrorEnabled |
Obtiene un valor que indica si los errores personalizados están habilitados para la solicitud HTTP actual. |
| IsDebuggingEnabled |
Obtiene un valor que indica si la solicitud HTTP actual está en modo de depuración. |
| IsPostNotification |
Obtiene un valor que es el punto de procesamiento actual de la canalización de ASP.NET justo después de que un HttpApplication evento haya terminado de procesarse. |
| IsWebSocketRequest |
Obtiene un valor que indica si la solicitud es una AspNetWebSocket solicitud. |
| IsWebSocketRequestUpgrading |
Obtiene un valor que indica si la conexión se está actualizando desde una conexión HTTP a una AspNetWebSocket conexión. |
| Items |
Obtiene una colección de clave-valor que se puede usar para organizar y compartir datos entre una IHttpModule interfaz y una interfaz durante una IHttpHandler solicitud HTTP. |
| PageInstrumentation |
Obtiene una referencia a la instancia del servicio de instrumentación de páginas para esta solicitud. |
| PreviousHandler |
Obtiene el IHttpHandler objeto del controlador primario. |
| Profile |
Obtiene el ProfileBase objeto para el perfil de usuario actual. |
| Request |
Obtiene el HttpRequest objeto de la solicitud HTTP actual. |
| Response |
Obtiene el HttpResponse objeto de la respuesta HTTP actual. |
| Server |
Obtiene el HttpServerUtility objeto que proporciona métodos usados en el procesamiento de solicitudes web. |
| Session |
Obtiene el HttpSessionState objeto de la solicitud HTTP actual. |
| SkipAuthorization |
Obtiene o establece un valor que especifica si el UrlAuthorizationModule objeto debe omitir la comprobación de autorización de la solicitud actual. |
| ThreadAbortOnTimeout |
Obtiene o establece un valor que especifica si el entorno de ejecución de ASP.NET debe llamar Abort() en el subproceso que está atendiendo esta solicitud cuando se agota el tiempo de espera de la solicitud. |
| Timestamp |
Obtiene la marca de tiempo inicial de la solicitud HTTP actual. |
| Trace |
Obtiene el TraceContext objeto de la respuesta HTTP actual. |
| User |
Obtiene o establece información de seguridad para la solicitud HTTP actual. |
| WebSocketNegotiatedProtocol |
Obtiene el protocolo negociado que se envió desde el servidor al cliente para una AspNetWebSocket conexión. |
| WebSocketRequestedProtocols |
Obtiene la lista ordenada de protocolos solicitados por el cliente. |
Métodos
| Nombre | Description |
|---|---|
| AcceptWebSocketRequest(Func<AspNetWebSocketContext,Task>, AspNetWebSocketOptions) |
Acepta una AspNetWebSocket solicitud mediante la función de usuario y el objeto de opciones especificados. |
| AcceptWebSocketRequest(Func<AspNetWebSocketContext,Task>) |
Acepta una AspNetWebSocket solicitud mediante la función de usuario especificada. |
| AddError(Exception) |
Agrega una excepción a la colección de excepciones para la solicitud HTTP actual. |
| AddOnRequestCompleted(Action<HttpContext>) |
Genera un evento virtual que se produce cuando finaliza la parte HTTP de la solicitud. |
| ClearError() |
Borra todos los errores de la solicitud HTTP actual. |
| DisposeOnPipelineCompleted(IDisposable) |
Permite que se llame al método de Dispose() un objeto cuando se complete la AspNetWebSocket parte de conexión de esta solicitud. |
| Equals(Object) |
Determina si el objeto especificado es igual al objeto actual. (Heredado de Object) |
| GetAppConfig(String) |
Obsoletos.
Devuelve la información de configuración solicitada para la aplicación actual. |
| GetConfig(String) |
Obsoletos.
Devuelve la información de configuración solicitada para la solicitud HTTP actual. |
| GetGlobalResourceObject(String, String, CultureInfo) |
Obtiene un objeto de recurso de nivel de aplicación basado en las propiedades y ResourceKey especificadasClassKey, y en el CultureInfo objeto . |
| GetGlobalResourceObject(String, String) |
Obtiene un objeto de recurso de nivel de aplicación basado en las propiedades y ResourceKey especificadasClassKey. |
| GetHashCode() |
Actúa como función hash predeterminada. (Heredado de Object) |
| GetLocalResourceObject(String, String, CultureInfo) |
Obtiene un objeto de recurso de nivel de página basado en las propiedades y ResourceKey especificadasVirtualPath, y en el CultureInfo objeto . |
| GetLocalResourceObject(String, String) |
Obtiene un objeto de recurso de nivel de página basado en las propiedades y ResourceKey especificadasVirtualPath. |
| GetSection(String) |
Obtiene una sección de configuración especificada para la configuración predeterminada de la aplicación actual. |
| GetType() |
Obtiene el Type de la instancia actual. (Heredado de Object) |
| MemberwiseClone() |
Crea una copia superficial del Objectactual. (Heredado de Object) |
| RemapHandler(IHttpHandler) |
Permite especificar un controlador para la solicitud. |
| RewritePath(String, Boolean) |
Vuelve a escribir la dirección URL mediante la ruta de acceso especificada y un valor booleano que especifica si se modifica la ruta de acceso virtual para los recursos del servidor. |
| RewritePath(String, String, String, Boolean) |
Vuelve a escribir la dirección URL mediante la ruta de acceso virtual, la información de ruta de acceso, la información de la cadena de consulta y un valor booleano que especifica si la ruta de acceso del archivo de cliente está establecida en la ruta de acceso de reescritura. |
| RewritePath(String, String, String) |
Vuelve a escribir la dirección URL mediante la ruta de acceso, la información de ruta de acceso y la información de cadena de consulta especificadas. |
| RewritePath(String) |
Vuelve a escribir la dirección URL mediante la ruta de acceso especificada. |
| SetSessionStateBehavior(SessionStateBehavior) |
Establece el tipo de comportamiento de estado de sesión necesario para admitir una solicitud HTTP. |
| ToString() |
Devuelve una cadena que representa el objeto actual. (Heredado de Object) |
Implementaciones de interfaz explícitas
| Nombre | Description |
|---|---|
| IServiceProvider.GetService(Type) |
Devuelve un objeto para el tipo de servicio actual. |