Partilhar via


HttpContext Classe

Definição

Encapsula todas as informações específicas de HTTP sobre uma solicitação HTTP individual.

public ref class HttpContext sealed : IServiceProvider
public sealed class HttpContext : IServiceProvider
type HttpContext = class
    interface IServiceProvider
Public NotInheritable Class HttpContext
Implements IServiceProvider
Herança
HttpContext
Implementações

Exemplos

O exemplo a seguir demonstra como acessar e exibir propriedades do HttpContext objeto. O contexto da solicitação HTTP atual é acessado usando a Context propriedade do 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>

Comentários

Classes que herdam e IHttpModuleIHttpHandler interfaces são fornecidas uma referência a um HttpContext objeto para a solicitação HTTP atual. O objeto fornece acesso ao intrínseco RequestResponsee Server às propriedades da solicitação.

Importante

Esse objeto está pronto para coleta de lixo quando a HttpRequest conclusão é concluída. Seu uso após a conclusão da solicitação pode levar a um comportamento indefinido, como um NullReferenceException.

Esse objeto só está disponível no thread controlado por ASP.NET. O uso em threads em segundo plano pode levar a um comportamento indefinido.

Construtores

Nome Description
HttpContext(HttpRequest, HttpResponse)

Inicializa uma nova instância da HttpContext classe usando os objetos de solicitação e resposta especificados.

HttpContext(HttpWorkerRequest)

Inicializa uma nova instância da HttpContext classe que usa o objeto de solicitação de trabalho especificado.

Propriedades

Nome Description
AllErrors

Obtém uma matriz de erros acumulados durante o processamento de uma solicitação HTTP.

AllowAsyncDuringSyncStages

Obtém ou define um valor que indica se operações assíncronas são permitidas durante partes de ASP.NET processamento de solicitação quando não são esperadas.

Application

Obtém o HttpApplicationState objeto da solicitação HTTP atual.

ApplicationInstance

Obtém ou define o HttpApplication objeto para a solicitação HTTP atual.

AsyncPreloadMode

Obtém ou define um objeto que contém sinalizadores que pertencem ao modo de pré-carregamento assíncrono.

Cache

Obtém o Cache objeto do domínio do aplicativo atual.

Current

Obtém ou define o HttpContext objeto para a solicitação HTTP atual.

CurrentHandler

Obtém o IHttpHandler objeto que representa o manipulador em execução no momento.

CurrentNotification

Obtém um RequestNotification valor que indica o evento atual HttpApplication que está sendo processado.

Error

Obtém o primeiro erro (se houver) acumulado durante o processamento de solicitação HTTP.

Handler

Obtém ou define o IHttpHandler objeto responsável pelo processamento da solicitação HTTP.

IsCustomErrorEnabled

Obtém um valor que indica se os erros personalizados estão habilitados para a solicitação HTTP atual.

IsDebuggingEnabled

Obtém um valor que indica se a solicitação HTTP atual está no modo de depuração.

IsPostNotification

Obtém um valor que é o ponto de processamento atual no pipeline de ASP.NET logo após o processamento de um HttpApplication evento.

IsWebSocketRequest

Obtém um valor que indica se a solicitação é uma solicitação AspNetWebSocket .

IsWebSocketRequestUpgrading

Obtém um valor que indica se a conexão está sendo atualizada de uma conexão HTTP para uma conexão AspNetWebSocket .

Items

Obtém uma coleção de chave/valor que pode ser usada para organizar e compartilhar dados entre uma IHttpModule interface e uma IHttpHandler interface durante uma solicitação HTTP.

PageInstrumentation

Obtém uma referência à instância do serviço de instrumentação de página para essa solicitação.

PreviousHandler

Obtém o IHttpHandler objeto do manipulador pai.

Profile

Obtém o ProfileBase objeto do perfil de usuário atual.

Request

Obtém o HttpRequest objeto da solicitação HTTP atual.

Response

Obtém o HttpResponse objeto para a resposta HTTP atual.

Server

Obtém o HttpServerUtility objeto que fornece métodos usados no processamento de solicitações da Web.

Session

Obtém o HttpSessionState objeto da solicitação HTTP atual.

SkipAuthorization

Obtém ou define um valor que especifica se o UrlAuthorizationModule objeto deve ignorar a verificação de autorização da solicitação atual.

ThreadAbortOnTimeout

Obtém ou define um valor que especifica se o runtime de ASP.NET deve chamar Abort() no thread que está atendendo a essa solicitação quando a solicitação atingir o tempo limite.

Timestamp

Obtém o carimbo de data/hora inicial da solicitação HTTP atual.

Trace

Obtém o TraceContext objeto para a resposta HTTP atual.

User

Obtém ou define informações de segurança para a solicitação HTTP atual.

WebSocketNegotiatedProtocol

Obtém o protocolo negociado que foi enviado do servidor para o cliente para uma conexão AspNetWebSocket .

WebSocketRequestedProtocols

Obtém a lista ordenada de protocolos solicitados pelo cliente.

Métodos

Nome Description
AcceptWebSocketRequest(Func<AspNetWebSocketContext,Task>, AspNetWebSocketOptions)

Aceita uma solicitação AspNetWebSocket usando a função de usuário especificada e o objeto de opções.

AcceptWebSocketRequest(Func<AspNetWebSocketContext,Task>)

Aceita uma solicitação AspNetWebSocket usando a função de usuário especificada.

AddError(Exception)

Adiciona uma exceção à coleção de exceções para a solicitação HTTP atual.

AddOnRequestCompleted(Action<HttpContext>)

Gera um evento virtual que ocorre quando a parte HTTP da solicitação é encerrada.

ClearError()

Limpa todos os erros da solicitação HTTP atual.

DisposeOnPipelineCompleted(IDisposable)

Permite que o método de Dispose() um objeto seja chamado quando a AspNetWebSocket parte de conexão dessa solicitação for concluída.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetAppConfig(String)
Obsoleto.

Retorna informações de configuração solicitadas para o aplicativo atual.

GetConfig(String)
Obsoleto.

Retorna informações de configuração solicitadas para a solicitação HTTP atual.

GetGlobalResourceObject(String, String, CultureInfo)

Obtém um objeto de recurso no nível do aplicativo com base nas propriedades especificadas ClassKey e ResourceKey no CultureInfo objeto.

GetGlobalResourceObject(String, String)

Obtém um objeto de recurso no nível do aplicativo com base nas propriedades e ResourceKey especificadasClassKey.

GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetLocalResourceObject(String, String, CultureInfo)

Obtém um objeto de recurso no nível da página com base nas propriedades especificadas VirtualPath e ResourceKey no CultureInfo objeto.

GetLocalResourceObject(String, String)

Obtém um objeto de recurso no nível da página com base nas propriedades e ResourceKey especificadasVirtualPath.

GetSection(String)

Obtém uma seção de configuração especificada para a configuração padrão do aplicativo atual.

GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do Objectatual.

(Herdado de Object)
RemapHandler(IHttpHandler)

Permite que você especifique um manipulador para a solicitação.

RewritePath(String, Boolean)

Reescreve a URL usando o caminho fornecido e um valor booliano que especifica se o caminho virtual para recursos do servidor é modificado.

RewritePath(String, String, String, Boolean)

Reescreve a URL usando o caminho virtual fornecido, informações de caminho, informações de cadeia de caracteres de consulta e um valor booliano que especifica se o caminho do arquivo do cliente está definido como o caminho de reescrita.

RewritePath(String, String, String)

Reescreve a URL usando o caminho, as informações de caminho e as informações de cadeia de caracteres de consulta fornecidas.

RewritePath(String)

Reescreve a URL usando o caminho fornecido.

SetSessionStateBehavior(SessionStateBehavior)

Define o tipo de comportamento de estado de sessão necessário para dar suporte a uma solicitação HTTP.

ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Implantações explícitas de interface

Nome Description
IServiceProvider.GetService(Type)

Retorna um objeto para o tipo de serviço atual.

Aplica-se a

Confira também