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 IHttpModule IHttpHandler 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

HttpContext(HttpRequest, HttpResponse)

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

HttpContext(HttpWorkerRequest)

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

Propriedades

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 as operações assíncronas são permitidas durante partes do processamento da solicitação ASP.NET quando elas não são esperadas.

Application

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

ApplicationInstance

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

AsyncPreloadMode

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

Cache

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

Current

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

CurrentHandler

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

CurrentNotification

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

Error

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

Handler

Obtém ou define o objeto IHttpHandler responsável por processar a 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 do ASP.NET logo após a conclusão do processamento de um evento HttpApplication.

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á atualizando 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 interface IHttpModule e uma interface IHttpHandler durante uma solicitação HTTP.

PageInstrumentation

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

PreviousHandler

Obtém o objeto IHttpHandler para o manipulador pai.

Profile

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

Request

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

Response

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

Server

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

Session

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

SkipAuthorization

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

ThreadAbortOnTimeout

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

Timestamp

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

Trace

Obtém o objeto TraceContext 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

AcceptWebSocketRequest(Func<AspNetWebSocketContext,Task>)

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

AcceptWebSocketRequest(Func<AspNetWebSocketContext,Task>, AspNetWebSocketOptions)

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

AddError(Exception)

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

AddOnRequestCompleted(Action<HttpContext>)

Aciona um evento virtual que ocorre quando a parte HTTP da solicitação está terminando.

ClearError()

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

DisposeOnPipelineCompleted(IDisposable)

Permite que o método Dispose() de um objeto seja chamado quando a parte de conexão AspNetWebSocket dessa solicitação é 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 as informações de configuração solicitadas para a solicitação HTTP atual.

GetGlobalResourceObject(String, String)

Obtém um objeto de recurso no nível de aplicativo baseado nas propriedades ClassKey e ResourceKey especificadas.

GetGlobalResourceObject(String, String, CultureInfo)

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

GetHashCode()

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

(Herdado de Object)
GetLocalResourceObject(String, String)

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

GetLocalResourceObject(String, String, CultureInfo)

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

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

(Herdado de Object)
RemapHandler(IHttpHandler)

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

RewritePath(String)

Regrava a URL usando o caminho fornecido.

RewritePath(String, Boolean)

Regrava a URL usando o caminho especificado e um valor booliano que especifica se o caminho virtual para recursos de servidor é modificado.

RewritePath(String, String, String)

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

RewritePath(String, String, String, Boolean)

Regrava 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 de cliente é definido como o caminho de regravação.

SetSessionStateBehavior(SessionStateBehavior)

Define o tipo de comportamento de estado de sessão que é 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

IServiceProvider.GetService(Type)

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

Aplica-se a

Confira também