HttpResponse Classe

Definição

Encapsula informação de resposta HTTP de uma operação ASP.NET.

public ref class HttpResponse sealed
public sealed class HttpResponse
type HttpResponse = class
Public NotInheritable Class HttpResponse
Herança
HttpResponse

Exemplos

O exemplo seguinte desenha três retângulos sobrepostos quando a página é solicitada. O código começa por definir a ContentType propriedade para image/jpeg, de modo que toda a página seja renderizada como uma imagem JPEG. O código chama então o Clear método para garantir que nenhum conteúdo supérfluo é enviado com esta resposta. De seguida, o código define a BufferOutput propriedade como true para que a página seja completamente processada antes de ser enviada ao cliente solicitante. São então criados dois objetos usados para desenhar os retângulos: a Bitmap e um objeto Graphics . As variáveis criadas na página são usadas como coordenadas para desenhar os retângulos e uma cadeia que aparece dentro do maior retângulo.

Quando os três retângulos e a cadeia que aparece dentro deles são desenhados, o Bitmap é guardado no Stream objeto associado à OutputStream propriedade e o seu formato é definido para JPEG. O código chama os Dispose métodos e Dispose para libertar os recursos usados pelos dois objetos de desenho. Por fim, o código chama o Flush método para enviar a resposta em buffer ao cliente solicitante.

Note

No código, o HttpResponse objeto é referido pela palavra-chave Response. Por exemplo, Response.Clear() refere-se ao HttpResponse.Clear método. A Page classe tem uma propriedade chamada Response que expõe a instância atual de HttpResponse.

<%@ Page Language="C#" %>
<%@ import Namespace="System.Drawing" %>
<%@ import Namespace="System.Drawing.Imaging" %>
<%@ import Namespace="System.Drawing.Drawing2D" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

    private void Page_Load(object sender, EventArgs e)
    {
// <snippet2>
        // Set the page's content type to JPEG files
        // and clears all content output from the buffer stream.
        Response.ContentType = "image/jpeg";
        Response.Clear();
    
        // Buffer response so that page is sent
        // after processing is complete.
        Response.BufferOutput = true;
// </snippet2>
    
        // Create a font style.
        Font rectangleFont = new Font(
            "Arial", 10, FontStyle.Bold);
    
        // Create integer variables.
        int height = 100;
        int width = 200;
    
        // Create a random number generator and create
        // variable values based on it.
        Random r = new Random();
        int x = r.Next(75);
        int a = r.Next(155);
        int x1 = r.Next(100);
    
        // Create a bitmap and use it to create a
        // Graphics object.
        Bitmap bmp = new Bitmap(
            width, height, PixelFormat.Format24bppRgb);
        Graphics g = Graphics.FromImage(bmp);
    
        g.SmoothingMode = SmoothingMode.AntiAlias;
        g.Clear(Color.LightGray);
    
        // Use the Graphics object to draw three rectangles.
        g.DrawRectangle(Pens.White, 1, 1, width-3, height-3);
        g.DrawRectangle(Pens.Aquamarine, 2, 2, width-3, height-3);
        g.DrawRectangle(Pens.Black, 0, 0, width, height);
    
        // Use the Graphics object to write a string
        // on the rectangles.
        g.DrawString(
            "ASP.NET Samples", rectangleFont,
            SystemBrushes.WindowText, new PointF(10, 40));
    
        // Apply color to two of the rectangles.
        g.FillRectangle(
            new SolidBrush(
                Color.FromArgb(a, 255, 128, 255)),
            x, 20, 100, 50);
    
        g.FillRectangle(
            new LinearGradientBrush(
                new Point(x, 10),
                new Point(x1 + 75, 50 + 30),
                Color.FromArgb(128, 0, 0, 128),
                Color.FromArgb(255, 255, 255, 240)),
            x1, 50, 75, 30);

// <snippet3>    
        // Save the bitmap to the response stream and
        // convert it to JPEG format.
        bmp.Save(Response.OutputStream, ImageFormat.Jpeg);
    
        // Release memory used by the Graphics object
        // and the bitmap.
        g.Dispose();
        bmp.Dispose();
    
        // Send the output to the client.
        Response.Flush();
// </snippet3>
    }

</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title>ASP.NET Example</title>
</head>
<body>
    <form id="form1" runat="server">
    </form>
</body>
</html>
<%@ Page Language="VB" %>
<%@ import Namespace="System.Drawing" %>
<%@ import Namespace="System.Drawing.Imaging" %>
<%@ import Namespace="System.Drawing.Drawing2D" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

   Private Sub Page_Load(sender As Object, e As EventArgs)
' <snippet2>
      ' Set the page's content type to JPEG files
      ' and clears all content output from the buffer stream.
      Response.ContentType = "image/jpeg"
      Response.Clear()
      
      ' Buffer response so that page is sent
      ' after processing is complete.
      Response.BufferOutput = True
' </snippet2>
      
      ' Create a font style.
      Dim rectangleFont As New Font( _
          "Arial", 10, FontStyle.Bold)
      
      ' Create integer variables.
      Dim height As Integer = 100
      Dim width As Integer = 200
      
      ' Create a random number generator and create
      ' variable values based on it.
      Dim r As New Random()
      Dim x As Integer = r.Next(75)
      Dim a As Integer = r.Next(155)
      Dim x1 As Integer = r.Next(100)
      
      ' Create a bitmap and use it to create a
      ' Graphics object.
      Dim bmp As New Bitmap( _
          width, height, PixelFormat.Format24bppRgb)
      Dim g As Graphics = Graphics.FromImage(bmp)
      
      g.SmoothingMode = SmoothingMode.AntiAlias
      g.Clear(Color.LightGray)
      
      ' Use the Graphics object to draw three rectangles.
      g.DrawRectangle(Pens.White, 1, 1, width - 3, height - 3)
      g.DrawRectangle(Pens.Aquamarine, 2, 2, width - 3, height - 3)
      g.DrawRectangle(Pens.Black, 0, 0, width, height)
      
      ' Use the Graphics object to write a string
      ' on the rectangles.
      g.DrawString("ASP.NET Samples", rectangleFont, SystemBrushes.WindowText, New PointF(10, 40))
      
      ' Apply color to two of the rectangles.
      g.FillRectangle( _
          New SolidBrush( _
              Color.FromArgb(a, 255, 128, 255)), _
          x, 20, 100, 50)
      
      g.FillRectangle( _
          New LinearGradientBrush( _
              New Point(x, 10), _
              New Point(x1 + 75, 50 + 30), _
              Color.FromArgb(128, 0, 0, 128), _
              Color.FromArgb(255, 255, 255, 240)), _
          x1, 50, 75, 30)

' <snippet3>      
      ' Save the bitmap to the response stream and
      ' convert it to JPEG format.
      bmp.Save(Response.OutputStream, ImageFormat.Jpeg)
      
      ' Release memory used by the Graphics object
      ' and the bitmap.
      g.Dispose()
      bmp.Dispose()
      
      ' Send the output to the client.
      Response.Flush()
' </snippet3>
   End Sub 'Page_Load

</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title>ASP.NET Example</title>
</head>
<body>
    <form id="form1" runat="server">
    </form>
</body>
</html>

Observações

Os métodos e propriedades da HttpResponse classe são expostos através da Response propriedade das HttpApplicationclasses, HttpContext, Page, e UserControl .

Os seguintes métodos da HttpResponse classe são suportados apenas em cenários pós-retrocesso e não em cenários assíncronos de pós-retorno:

As atualizações parciais da página são ativadas quando usas UpdatePanel controlos para atualizar regiões selecionadas de uma página em vez de atualizar toda a página com um post de volta. Para mais informações, consulte Visão Geral de Controlo do Painel de Atualização e Partial-Page Visão Geral de Renderização.

Construtores

Name Description
HttpResponse(TextWriter)

Inicializa uma nova instância da HttpResponse classe.

Propriedades

Name Description
Buffer

Recebe ou define um valor que indica se deve armazenar a saída em buffer e enviá-la após o processamento completo da resposta.

BufferOutput

Recebe ou define um valor que indica se deve armazenar a saída em buffer e enviá-la depois de terminar o processamento da página completa.

Cache

Recebe a política de cache (como tempo de expiração, definições de privacidade e cláusulas de variação) de uma página Web.

CacheControl

Recebe ou define o Cache-Control cabeçalho HTTP que corresponde a um dos HttpCacheability valores da enumeração.

Charset

Obtém ou define o conjunto de caracteres HTTP do fluxo de saída.

ClientDisconnectedToken

Obtém um CancellationToken objeto que desarma quando o cliente se desliga.

ContentEncoding

Obtém ou define o conjunto de caracteres HTTP do fluxo de saída.

ContentType

Obtém ou define o tipo HTTP MIME do fluxo de saída.

Cookies

Recebe a recolha de cookies de resposta.

Expires

Obtém ou define o número de minutos antes de uma página armazenada em cache num navegador expirar. Se o utilizador regressar à mesma página antes de expirar, a versão em cache é apresentada. Expires é fornecido para compatibilidade com versões anteriores do ASP.

ExpiresAbsolute

Obtém ou define a data e hora absolutas para remover a informação em cache da cache. ExpiresAbsolute é fornecido para compatibilidade com versões anteriores do ASP.

Filter

Obtém ou define um objeto filtro de encapsulamento que é usado para modificar o corpo da entidade HTTP antes da transmissão.

HeaderEncoding

Obtém ou define um Encoding objeto que representa a codificação do fluxo de saída do cabeçalho atual.

Headers

Recebe a coleção de cabeçalhos de resposta.

HeadersWritten

Recebe um valor que indica se os cabeçalhos de resposta foram escritos.

IsClientConnected

Recebe um valor que indica se o cliente ainda está ligado ao servidor.

IsRequestBeingRedirected

Recebe um valor booleano que indica se o cliente está a ser transferido para uma nova localização.

Output

Permite a saída de texto para o fluxo de resposta HTTP de saída.

OutputStream

Permite a saída binária para o corpo de conteúdo HTTP de saída.

RedirectLocation

Obtém ou define o valor do cabeçalho HTTP Location .

Status

Define a Status linha que é devolvida ao cliente.

StatusCode

Recebe ou define o código de estado HTTP da saída devolvida ao cliente.

StatusDescription

Recebe ou define a cadeia de estado HTTP da saída devolvida ao cliente.

SubStatusCode

Recebe ou define um valor que qualifica o código de estado da resposta.

SupportsAsyncFlush

Recebe um valor que indica se a ligação suporta operações de limpeza assíncronas.

SuppressContent

Recebe ou define um valor que indica se deve enviar conteúdo HTTP ao cliente.

SuppressDefaultCacheControlHeader

Recebe ou define um valor que indica se deve suprimir o cabeçalho padrão Cache Control: private para a resposta HTTP atual.

SuppressFormsAuthenticationRedirect

Recebe ou define um valor que especifica se o redirecionamento de autenticação dos formulários para a página de login deve ser suprimido.

TrySkipIisCustomErrors

Recebe ou define um valor que especifica se os erros personalizados do IIS 7.0 estão desativados.

Métodos

Name Description
AddCacheDependency(CacheDependency[])

Associa um conjunto de dependências de cache à resposta para facilitar a invalidação da resposta se esta estiver armazenada na cache de saída e as dependências especificadas mudarem.

AddCacheItemDependencies(ArrayList)

Torna a validade de uma resposta em cache dependente de outros itens na cache.

AddCacheItemDependencies(String[])

Torna a validade de um item em cache dependente de outro item na cache.

AddCacheItemDependency(String)

Torna a validade de uma resposta em cache dependente de outro item na cache.

AddFileDependencies(ArrayList)

Adiciona um grupo de nomes de ficheiros à coleção de nomes de ficheiros da qual a resposta atual depende.

AddFileDependencies(String[])

Adiciona um array de nomes de ficheiros à coleção de nomes de ficheiros da qual a resposta atual depende.

AddFileDependency(String)

Adiciona um único nome de ficheiro à coleção de nomes de ficheiros da qual a resposta atual depende.

AddHeader(String, String)

Adiciona um cabeçalho HTTP ao fluxo de saída. AddHeader(String, String) é fornecido para compatibilidade com versões anteriores do ASP.

AddOnSendingHeaders(Action<HttpContext>)

Regista um callback que o runtime ASP.NET invocará imediatamente antes de serem enviados cabeçalhos de resposta para este pedido.

AppendCookie(HttpCookie)

Adiciona um cookie HTTP à coleção intrínseca de cookies.

AppendHeader(String, String)

Adiciona um cabeçalho HTTP ao fluxo de saída.

AppendToLog(String)

Adiciona informação de registo personalizada ao ficheiro de registo do Serviços de Informação Internet (IIS).

ApplyAppPathModifier(String)

Adiciona um ID de sessão ao caminho virtual se a sessão estiver a usar Cookieless o estado da sessão e devolve o caminho combinado. Se Cookieless o estado da sessão não for utilizado, devolve ApplyAppPathModifier(String) o caminho virtual original.

BeginFlush(AsyncCallback, Object)

Envia a resposta atualmente em buffer para o cliente.

BinaryWrite(Byte[])

Escreve uma cadeia de caracteres binários no fluxo de saída HTTP.

Clear()

Apaga todo o conteúdo que sai do fluxo de buffer.

ClearContent()

Apaga todo o conteúdo que sai do fluxo de buffer.

ClearHeaders()

Limpa todos os cabeçalhos do fluxo de buffer.

Close()

Fecha a ligação da tomada a um cliente.

DisableKernelCache()

Desativa a cache do kernel para a resposta atual.

DisableUserCache()

Desativa a cache do modo utilizador IIS para esta resposta.

End()

Envia toda a saída atualmente em buffer para o cliente, interrompe a execução da página e gera o EndRequest evento.

EndFlush(IAsyncResult)

Completa uma operação de limpeza assíncrona.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
Flush()

Envia toda a saída atualmente em buffer para o cliente.

FlushAsync()

De forma assíncrona, envia toda a saída atualmente em buffer para o cliente.

GetHashCode()

Serve como função de hash predefinida.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
Pics(String)

Adiciona um cabeçalho HTTP PICS-Label ao fluxo de saída.

PushPromise(String, String, NameValueCollection)

Suporta aplicações que enviam promessas push para clientes HTTP 2.0. Para mais informações, consulte a Secção 8.2 da Especificação HTTP/2: Server Push.

PushPromise(String)

Suporta aplicações que enviam promessas push para clientes HTTP 2.0. Para mais informações, consulte a Secção 8.2 da Especificação HTTP/2: Server Push.

Redirect(String, Boolean)

Redireciona um cliente para uma nova URL. Especifica o novo URL e se a execução da página atual deve terminar.

Redirect(String)

Redireciona um pedido para uma nova URL e especifica a nova URL.

RedirectPermanent(String, Boolean)

Realiza um redirecionamento permanente da URL solicitada para a URL especificada e fornece a opção de completar a resposta.

RedirectPermanent(String)

Realiza um redirecionamento permanente da URL solicitada para a URL especificada.

RedirectToRoute(Object)

Redireciona um pedido para uma nova URL usando valores de parâmetros de rota.

RedirectToRoute(RouteValueDictionary)

Redireciona um pedido para uma nova URL usando valores de parâmetros de rota.

RedirectToRoute(String, Object)

Redireciona um pedido para uma nova URL usando valores de parâmetros de rota e um nome de rota.

RedirectToRoute(String, RouteValueDictionary)

Redireciona um pedido para uma nova URL usando valores de parâmetros de rota e um nome de rota.

RedirectToRoute(String)

Redireciona um pedido para uma nova URL usando um nome de rota.

RedirectToRoutePermanent(Object)

Realiza um redirecionamento permanente de uma URL solicitada para uma nova URL usando valores de parâmetros de rota.

RedirectToRoutePermanent(RouteValueDictionary)

Realiza um redirecionamento permanente de uma URL solicitada para uma nova URL usando valores de parâmetros de rota.

RedirectToRoutePermanent(String, Object)

Realiza um redirecionamento permanente de uma URL solicitada para uma nova URL, utilizando os valores dos parâmetros de rota e o nome da rota que corresponde à nova URL.

RedirectToRoutePermanent(String, RouteValueDictionary)

Realiza um redirecionamento permanente de uma URL solicitada para uma nova URL, utilizando valores de parâmetros de rota e um nome de rota.

RedirectToRoutePermanent(String)

Realiza um redirecionamento permanente de uma URL solicitada para uma nova URL usando um nome de rota.

RemoveOutputCacheItem(String, String)

Utiliza o fornecedor de cache de saída especificado para remover todos os itens de cache de saída associados ao caminho especificado.

RemoveOutputCacheItem(String)

Remove da cache todos os itens em cache associados ao fornecedor de cache de saída por defeito. Este método é estático.

SetCookie(HttpCookie)

Como o método HttpResponse.SetCookie é destinado apenas a uso interno, não deve chamá-lo no seu código. Em vez disso, pode chamar o método HttpResponse.Cookies.Set , como mostra o exemplo seguinte.
Atualiza um cookie existente na coleção de cookies.

ToString()

Devolve uma cadeia que representa o objeto atual.

(Herdado de Object)
TransmitFile(String, Int64, Int64)

Escreve a parte especificada de um ficheiro diretamente num fluxo de resposta HTTP sem o armazenar em memória.

TransmitFile(String)

Escreve o ficheiro especificado diretamente num fluxo de resposta HTTP de saída, sem o armazenar em memória.

Write(Char)

Escreve um carácter num fluxo de saída de resposta HTTP.

Write(Char[], Int32, Int32)

Escreve um array de caracteres num fluxo de resposta HTTP de saída.

Write(Object)

Escreve num Object fluxo de resposta HTTP.

Write(String)

Escreve uma string num fluxo de resposta HTTP de saída.

WriteFile(IntPtr, Int64, Int64)

Escreve o ficheiro especificado diretamente num fluxo de resposta HTTP de saída.

WriteFile(String, Boolean)

Escreve o conteúdo do ficheiro especificado diretamente num fluxo de resposta HTTP como bloco de memória.

WriteFile(String, Int64, Int64)

Escreve o ficheiro especificado diretamente num fluxo de resposta HTTP de saída.

WriteFile(String)

Escreve o conteúdo do ficheiro especificado diretamente num fluxo de resposta HTTP como bloco de ficheiro.

WriteSubstitution(HttpResponseSubstitutionCallback)

Permite a inserção de blocos de substituição de resposta na resposta, o que permite a geração dinâmica de regiões de resposta especificadas para respostas em cache de saída.

Aplica-se a