Compartir por


HttpContext Clase

Definición

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.

Se aplica a

Consulte también