HttpContext Clase

Definición

Encapsula toda la información específica de HTTP acerca de 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 obtener acceso a las propiedades del HttpContext objeto y mostrarlas. Se tiene 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 para 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 dar lugar a 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

HttpContext(HttpRequest, HttpResponse)

Inicializa una nueva instancia de la clase HttpContext usando los objetos de solicitud y respuesta especificados.

HttpContext(HttpWorkerRequest)

Inicializa una nueva instancia de la clase HttpContext que usa el objeto de solicitud de trabajo especificado.

Propiedades

AllErrors

Obtiene una matriz de errores acumulados al procesar una solicitud HTTP.

AllowAsyncDuringSyncStages

Obtiene o establece un valor que indica si las operaciones asincrónicas están permitidas durante partes del procesamiento de la solicitud ASP.NET en que no se esperan.

Application

Obtiene el objeto HttpApplicationState de la solicitud HTTP actual.

ApplicationInstance

Obtiene o establece el objeto HttpApplication de la solicitud HTTP actual.

AsyncPreloadMode

Obtiene o establece un objeto que contiene marcas que pertenecen al modo de precarga asincrónico.

Cache

Obtiene el objeto Cache del dominio de aplicación actual.

Current

Obtiene o establece el objeto HttpContext de la solicitud HTTP actual.

CurrentHandler

Obtiene el objeto IHttpHandler que representa el controlador que se ejecuta actualmente.

CurrentNotification

Obtiene un valor de RequestNotification que indica el evento HttpApplication actual que se está procesando.

Error

Obtiene el primer error (si existe) acumulado durante el procesamiento de la solicitud HTTP.

Handler

Obtiene o establece el objeto IHttpHandler responsable del procesamiento de la solicitud HTTP actual.

IsCustomErrorEnabled

Obtiene un valor que indica si se habilitaron errores personalizados 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 en la canalización de ASP.NET justo después de que un evento de HttpApplication haya finalizado el procesamiento.

IsWebSocketRequest

Obtiene un valor que indica si es una solicitud AspNetWebSocket.

IsWebSocketRequestUpgrading

Obtiene un valor que indica si la conexión se está actualizando de una conexión HTTP a una conexión AspNetWebSocket.

Items

Obtiene una colección de pares clave/valor que permite organizar y compartir datos entre una interfaz IHttpModule y una interfaz IHttpHandler durante una solicitud HTTP.

PageInstrumentation

Obtiene una referencia a la instancia del servicio de instrumentación de página para esta solicitud.

PreviousHandler

Obtiene el objeto IHttpHandler para el controlador primario.

Profile

Obtiene el objeto ProfileBase del perfil de usuario actual.

Request

Obtiene el objeto HttpRequest de la solicitud HTTP actual.

Response

Obtiene el objeto HttpResponse de la respuesta HTTP actual.

Server

Obtiene el objeto HttpServerUtility que proporciona los métodos que se usan en el procesamiento de solicitudes web.

Session

Obtiene el objeto HttpSessionState de la solicitud HTTP actual.

SkipAuthorization

Obtiene o establece un valor que especifica si el objeto UrlAuthorizationModule debe omitir la comprobación de autorización para la solicitud actual.

ThreadAbortOnTimeout

Obtiene o establece un valor que especifica si el tiempo de ejecución de ASP.NET debe llamar a Abort() en el subproceso que atiende esta solicitud cuando la solicitud agota su tiempo de espera.

Timestamp

Obtiene la marca de tiempo inicial de la solicitud HTTP actual.

Trace

Obtiene el objeto TraceContext de la respuesta HTTP actual.

User

Obtiene o establece información de seguridad de la solicitud HTTP actual.

WebSocketNegotiatedProtocol

Obtiene el protocolo negociado que se envió desde el servidor al cliente para una conexión de AspNetWebSocket.

WebSocketRequestedProtocols

Obtiene la lista ordenada de los protocolos solicitados por el cliente.

Métodos

AcceptWebSocketRequest(Func<AspNetWebSocketContext,Task>)

Acepta una solicitud AspNetWebSocket usando la función de usuario especificada.

AcceptWebSocketRequest(Func<AspNetWebSocketContext,Task>, AspNetWebSocketOptions)

Acepta una solicitud AspNetWebSocket usando la función de usuario y el objeto de opciones especificados.

AddError(Exception)

Agrega una excepción a la colección de excepciones de 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 llamar al método Dispose() de un objeto cuando se complete la parte de conexión de AspNetWebSocket de esta solicitud.

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
GetAppConfig(String)
Obsoleto.

Devuelve la información de configuración solicitada para la aplicación actual.

GetConfig(String)
Obsoleto.

Devuelve la información de configuración solicitada para la solicitud HTTP actual.

GetGlobalResourceObject(String, String)

Obtiene un objeto de recurso de nivel de aplicación basado en las propiedades ClassKey y ResourceKey especificadas.

GetGlobalResourceObject(String, String, CultureInfo)

Obtiene un objeto de recurso de nivel de aplicación basado en las propiedades ClassKey y ResourceKey especificadas, y en el objeto CultureInfo.

GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetLocalResourceObject(String, String)

Obtiene un objeto de recurso de nivel de página basado en las propiedades VirtualPath y ResourceKey especificadas.

GetLocalResourceObject(String, String, CultureInfo)

Obtiene un objeto de recurso de nivel de página basado en las propiedades VirtualPath y ResourceKey especificadas y en el objeto CultureInfo.

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 Object actual.

(Heredado de Object)
RemapHandler(IHttpHandler)

Permite especificar un controlador para la solicitud.

RewritePath(String)

Reescribe la dirección URL usando la ruta de acceso dada.

RewritePath(String, Boolean)

Reescribe la dirección URL usando la ruta de acceso dada y un valor booleano que especifica si se modifica la ruta de acceso virtual a los recursos del servidor.

RewritePath(String, String, String)

Reescribe la dirección URL usando la ruta de acceso, la información de la ruta de acceso y la información de la cadena de consulta especificadas.

RewritePath(String, String, String, Boolean)

Reescribe la dirección URL usando la ruta de acceso virtual dada, la información de la ruta de acceso, la información la de cadena de consulta y un valor booleano que especifica si la ruta de acceso del archivo del cliente se establece en la ruta de acceso de reescritura.

SetSessionStateBehavior(SessionStateBehavior)

Establece el tipo de comportamiento de estado de sesión que se requiere para admitir una solicitud HTTP.

ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Implementaciones de interfaz explícitas

IServiceProvider.GetService(Type)

Devuelve un objeto para el tipo de servicio actual.

Se aplica a

Consulte también