HttpContext Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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. |