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 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 dar lugar a 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) |
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) |
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. |
Métodos de extensión
GetKeyedService<T>(IServiceProvider, Object) |
Obtiene un servicio de tipo |
GetKeyedServices(IServiceProvider, Type, Object) |
Obtiene una enumeración de servicios de tipo |
GetKeyedServices<T>(IServiceProvider, Object) |
Obtiene una enumeración de servicios de tipo |
GetRequiredKeyedService(IServiceProvider, Type, Object) |
Obtiene un servicio de tipo |
GetRequiredKeyedService<T>(IServiceProvider, Object) |
Obtiene un servicio de tipo |
CreateAsyncScope(IServiceProvider) |
Crea una instancia de AsyncServiceScope que se puede usar para resolver los servicios con ámbito. |
CreateScope(IServiceProvider) |
Crea una instancia de IServiceScope que se puede usar para resolver los servicios con ámbito. |
GetRequiredService(IServiceProvider, Type) |
Obtiene el servicio de tipo |
GetRequiredService<T>(IServiceProvider) |
Obtiene el servicio de tipo |
GetService<T>(IServiceProvider) |
Obtiene el servicio de tipo |
GetServices(IServiceProvider, Type) |
Obtiene una enumeración de los servicios de tipo |
GetServices<T>(IServiceProvider) |
Obtiene una enumeración de los servicios de tipo |
GetFakeLogCollector(IServiceProvider) |
Obtiene el objeto que recopila los registros enviados al registrador falso. |
GetFakeRedactionCollector(IServiceProvider) |
Obtiene la instancia del recopilador de redactores falso del contenedor de inserción de dependencias. |