HttpContext Classe

Definição

Encapsula toda a informação específica de HTTP sobre um pedido 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 seguinte demonstra como aceder e mostrar propriedades do HttpContext objeto. O contexto do pedido HTTP atual é acedido 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>

Observações

As classes que herdam as IHttpModule interfaces e IHttpHandler recebem uma referência a um HttpContext objeto para o pedido HTTP atual. O objeto fornece acesso às propriedades intrínsecas Request, Response, e Server do pedido.

Importante

Este objeto está pronto para recolha de lixo quando estiver HttpRequest concluído. A sua utilização após a conclusão do pedido pode levar a comportamentos indefinidos, como um NullReferenceException.

Este objeto está disponível apenas no thread controlado pelo ASP.NET. A utilização em threads em segundo plano pode levar a comportamentos indefinidos.

Construtores

Name Description
HttpContext(HttpRequest, HttpResponse)

Inicializa uma nova instância da HttpContext classe usando os objetos de pedido e resposta especificados.

HttpContext(HttpWorkerRequest)

Inicializa uma nova instância da HttpContext classe que utiliza o objeto worker-request especificado.

Propriedades

Name Description
AllErrors

Recebe uma série de erros acumulados durante o processamento de um pedido HTTP.

AllowAsyncDuringSyncStages

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

Application

Obtém o HttpApplicationState objeto para o pedido HTTP atual.

ApplicationInstance

Recebe ou define o HttpApplication objeto para o pedido HTTP atual.

AsyncPreloadMode

Obtém ou define um objeto que contém flags relacionados com o modo de pré-carregamento assíncrono.

Cache

Obtém o Cache objeto para o domínio de aplicação atual.

Current

Recebe ou define o HttpContext objeto para o pedido HTTP atual.

CurrentHandler

Obtém o IHttpHandler objeto que representa o handler em execução atual.

CurrentNotification

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

Error

Recebe o primeiro erro (se houver) acumulado durante o processamento de pedidos HTTP.

Handler

Obtém ou define o IHttpHandler objeto responsável por processar o pedido HTTP.

IsCustomErrorEnabled

Recebe um valor que indica se estão ativados erros personalizados para o pedido HTTP atual.

IsDebuggingEnabled

Recebe um valor que indica se o pedido HTTP atual está em modo de depuração.

IsPostNotification

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

IsWebSocketRequest

Recebe um valor que indica se o pedido é um AspNetWebSocket pedido.

IsWebSocketRequestUpgrading

Recebe um valor que indica se a ligação está a ser atualizada de uma ligação HTTP para uma AspNetWebSocket ligação.

Items

Obtém uma coleção de chaves/valores que pode ser usada para organizar e partilhar dados entre uma IHttpModule interface e uma IHttpHandler interface durante um pedido HTTP.

PageInstrumentation

Recebe uma referência para a instância de serviço de instrumentação de página para este pedido.

PreviousHandler

Obtém o IHttpHandler objeto para o responsável dos pais.

Profile

Obtém o ProfileBase objeto para o perfil de utilizador atual.

Request

Obtém o HttpRequest objeto para o pedido 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 pedidos Web.

Session

Obtém o HttpSessionState objeto para o pedido HTTP atual.

SkipAuthorization

Recebe ou define um valor que especifica se o UrlAuthorizationModule objeto deve saltar a verificação de autorização para o pedido atual.

ThreadAbortOnTimeout

Recebe ou define um valor que especifica se o tempo de execução do ASP.NET deve chamar Abort() no thread que serve este pedido quando o pedido expira.

Timestamp

Recebe o carimbo temporal inicial do pedido HTTP atual.

Trace

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

User

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

WebSocketNegotiatedProtocol

Recebe o protocolo negociado que foi enviado do servidor para o cliente para uma AspNetWebSocket ligação.

WebSocketRequestedProtocols

Recebe a lista ordenada de protocolos solicitados pelo cliente.

Métodos

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

Aceita um AspNetWebSocket pedido usando a função de utilizador e o objeto de opções especificados.

AcceptWebSocketRequest(Func<AspNetWebSocketContext,Task>)

Aceita um AspNetWebSocket pedido usando a função de utilizador especificada.

AddError(Exception)

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

AddOnRequestCompleted(Action<HttpContext>)

Gera um evento virtual que ocorre quando a parte HTTP do pedido está a terminar.

ClearError()

Apaga todos os erros do pedido HTTP atual.

DisposeOnPipelineCompleted(IDisposable)

Permite que o método de Dispose() um objeto seja chamado quando a AspNetWebSocket parte de ligação deste pedido é concluída.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetAppConfig(String)
Obsoleto.

Devolve a informação de configuração solicitada para a aplicação atual.

GetConfig(String)
Obsoleto.

Devolve a informação de configuração solicitada para o pedido HTTP atual.

GetGlobalResourceObject(String, String, CultureInfo)

Obtém um objeto de recurso ao nível da aplicação com base nas propriedades e ResourceKey especificadosClassKey, e no CultureInfo objeto.

GetGlobalResourceObject(String, String)

Obtém um objeto de recurso ao nível da aplicação com base nas propriedades e ResourceKey especificadosClassKey.

GetHashCode()

Serve como função de hash predefinida.

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

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

GetLocalResourceObject(String, String)

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

GetSection(String)

Recebe uma secção de configuração especificada para a configuração padrão da aplicação atual.

GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
RemapHandler(IHttpHandler)

Permite-te especificar um handler para o pedido.

RewritePath(String, Boolean)

Reescreve a URL usando o caminho dado e um valor booleano que especifica se o caminho virtual para recursos do servidor está modificado.

RewritePath(String, String, String, Boolean)

Reescreve a URL usando o caminho virtual dado, informação do caminho, informação da cadeia de consulta e um valor booleano que especifica se o caminho do ficheiro cliente está definido para o caminho de reescrita.

RewritePath(String, String, String)

Reescreve a URL usando o caminho, a informação do caminho e a informação da cadeia de consulta dadas.

RewritePath(String)

Reescreve a URL usando o caminho indicado.

SetSessionStateBehavior(SessionStateBehavior)

Define o tipo de comportamento de estado de sessão necessário para suportar um pedido HTTP.

ToString()

Devolve uma cadeia que representa o objeto atual.

(Herdado de Object)

Implementações de Interface Explícita

Name Description
IServiceProvider.GetService(Type)

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

Aplica-se a

Ver também