Compartilhar via


HttpResponse Classe

Definição

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

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

Exemplos

O exemplo a seguir desenha três retângulos sobrepostos quando a página é solicitada. O código começa definindo a ContentType propriedade como image/jpeg, para que toda a página seja renderizada como uma imagem JPEG. Em seguida, o código chama o Clear método para garantir que nenhum conteúdo desnecessário seja enviado com essa resposta. Em 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. Dois objetos usados para desenhar os retângulos são criados: um Bitmap e um Graphics objeto . As variáveis criadas na página são usadas como coordenadas para desenhar os retângulos e uma cadeia de caracteres que aparece dentro do maior retângulo.

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

Observação

No código, o HttpResponse objeto é referenciado pelo 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 do 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>

Comentários

Os métodos e as propriedades da HttpResponse classe são expostos por meio da Response propriedade das HttpApplicationclasses , HttpContext, Pagee UserControl .

Os seguintes métodos da HttpResponse classe têm suporte apenas em cenários pós-back e não em cenários pós-back assíncronos:

As atualizações de página parcial são habilitadas quando você usa UpdatePanel controles para atualizar as regiões selecionadas de uma página em vez de atualizar a página inteira com uma postagem de volta. Para obter mais informações, consulte Visão geral do controle UpdatePanel e Visão geral da renderização de página parcial.

Construtores

HttpResponse(TextWriter)

Inicializa uma nova instância da classe HttpResponse.

Propriedades

Buffer

Obtém ou define um valor que indica se a saída deve ser armazenada em buffer e enviada depois que a resposta completa tiver o processamento concluído.

BufferOutput

Obtém ou define um valor que indica se deseja armazenar a saída em buffer e enviá-la depois que a página concluída concluiu o processamento.

Cache

Obtém a política de cache (como a data de validade, as configurações de privacidade e cláusulas vary) de uma página da Web.

CacheControl

Obtém ou define o cabeçalho HTTP Cache-Control, que corresponde a um dos valores de enumeração HttpCacheability.

Charset

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

ClientDisconnectedToken

Obtém um objeto CancellationToken que é disparado quando o cliente se desconecta.

ContentEncoding

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

ContentType

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

Cookies

Obtém a coleção de cookies de resposta.

Expires

Obtém ou define o número de minutos antes de uma página armazenada em cache em um navegador expirar. Se o usuário retornar para a mesma página antes de expirar, a versão em cache será exibida. Expires é fornecido para compatibilidade com versões anteriores do ASP.

ExpiresAbsolute

Obtém ou define a data e a hora absolutas quando remover do cache as informações nele armazenadas. ExpiresAbsolute é fornecido para compatibilidade com versões anteriores do ASP.

Filter

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

HeaderEncoding

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

Headers

Obtém a coleção de cabeçalhos de resposta.

HeadersWritten

Obtém um valor que indica se os cabeçalhos de resposta foram gravados.

IsClientConnected

Obtém um valor que indica se o cliente ainda está conectado ao servidor.

IsRequestBeingRedirected

Obtém um valor booliano que indica se o cliente está sendo transferido para um novo local.

Output

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

OutputStream

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

RedirectLocation

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

Status

Define a linha de Status que é retornada ao cliente.

StatusCode

Obtém ou define o código de status HTTP da saída retornada ao cliente.

StatusDescription

Obtém ou define a cadeia de caracteres de status de HTTP da saída retornada ao cliente.

SubStatusCode

Obtém ou define um valor que qualifica o código de status da resposta.

SupportsAsyncFlush

Obtém um valor que indica se a conexão dá suporte a operações de liberação assíncronas.

SuppressContent

Obtém ou define um valor que indica se o conteúdo HTTP será enviado para o cliente.

SuppressDefaultCacheControlHeader

Obtém ou define um valor que indica se o cabeçalho padrão Cache Control: private da resposta HTTP atual deve ser suprimido.

SuppressFormsAuthenticationRedirect

Obtém ou define um valor que especifica se o redirecionamento de autenticação de formulários para a página de logon deve ser suprimido.

TrySkipIisCustomErrors

Obtém ou define um valor que especifica se os erros personalizados do IIS 7.0 estão desabilitados.

Métodos

AddCacheDependency(CacheDependency[])

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

AddCacheItemDependencies(ArrayList)

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

AddCacheItemDependencies(String[])

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

AddCacheItemDependency(String)

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

AddFileDependencies(ArrayList)

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

AddFileDependencies(String[])

Adiciona uma matriz de nomes de arquivo à coleção de nomes de arquivo da qual a resposta atual depende.

AddFileDependency(String)

Adiciona um único nome de arquivo à coleção de nomes de arquivo 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>)

Registra um retorno de chamada que o runtime do ASP.NET invocará imediatamente antes dos cabeçalhos de resposta serem enviados para esta solicitação.

AppendCookie(HttpCookie)

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

AppendHeader(String, String)

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

AppendToLog(String)

Adiciona informações de log personalizado ao arquivo de log de IIS (Serviços de Informações da Internet).

ApplyAppPathModifier(String)

Adiciona uma ID de sessão para o caminho virtual se a sessão estiver usando o estado de sessão Cookieless retornar o caminho combinado. Se o estado de sessão Cookieless não for usado, ApplyAppPathModifier(String) retornará caminho virtual original.

BeginFlush(AsyncCallback, Object)

Envia a resposta atualmente em buffer para o cliente.

BinaryWrite(Byte[])

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

Clear()

Limpa toda a saída do conteúdo do fluxo de buffer.

ClearContent()

Limpa toda a saída do conteúdo do fluxo de buffer.

ClearHeaders()

Limpa todos os cabeçalhos do fluxo de buffer.

Close()

Fecha a conexão de soquete para um cliente.

DisableKernelCache()

Desabilita o cache de kernel para a resposta atual.

DisableUserCache()

Desabilita o cache de modo de usuário do IIS para esta resposta.

End()

Envia todas as saídas em buffer no momento para o cliente, interrompe a execução da página e gera o evento EndRequest.

EndFlush(IAsyncResult)

Conclui uma operação de liberação assíncrona.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
Flush()

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

FlushAsync()

Envia de forma assíncrona toda a saída em buffer atual para o cliente.

GetHashCode()

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

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
Pics(String)

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

PushPromise(String)

Compatível com aplicativos que enviam promessas por push para clientes HTTP 2.0. Para saber mais, confira Especificação de HTTP/2, Seção 8.2: Push do servidor.

PushPromise(String, String, NameValueCollection)

Compatível com aplicativos que enviam promessas por push para clientes HTTP 2.0. Para saber mais, confira Especificação de HTTP/2, Seção 8.2: Push do servidor.

Redirect(String)

Redireciona uma solicitação para uma nova URL e especifica a nova URL.

Redirect(String, Boolean)

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

RedirectPermanent(String)

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

RedirectPermanent(String, Boolean)

Executa um redirecionamento permanente da URL solicitada para a URL especificada e oferece a opção de concluir a resposta.

RedirectToRoute(Object)

Redireciona uma solicitação para uma nova URL usando valores de parâmetro de rota.

RedirectToRoute(RouteValueDictionary)

Redireciona uma solicitação para uma nova URL usando valores de parâmetro de rota.

RedirectToRoute(String)

Redireciona uma solicitação para uma nova URL usando um nome de rota.

RedirectToRoute(String, Object)

Redireciona uma solicitação para uma nova URL usando valores de parâmetro de rota e um nome de rota.

RedirectToRoute(String, RouteValueDictionary)

Redireciona uma solicitação para uma nova URL usando valores de parâmetro de rota e um nome de rota.

RedirectToRoutePermanent(Object)

Executa um redirecionamento permanente de uma URL solicitada para uma nova URL, usando valores de parâmetro de rota.

RedirectToRoutePermanent(RouteValueDictionary)

Executa um redirecionamento permanente de uma URL solicitada para uma nova URL, usando valores de parâmetro de rota.

RedirectToRoutePermanent(String)

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

RedirectToRoutePermanent(String, Object)

Executa um redirecionamento permanente de uma URL solicitada para uma nova URL, usando os valores de parâmetro de rota e de nome da rota que correspondem à nova URL.

RedirectToRoutePermanent(String, RouteValueDictionary)

Executa um redirecionamento permanente de uma URL solicitada para uma nova URL, usando valores de parâmetro de rota e um nome de rota.

RemoveOutputCacheItem(String)

Remove do cache todos os itens em cache que estão associados com o provedor de cache de saída padrão. Esse método é estático.

RemoveOutputCacheItem(String, String)

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

SetCookie(HttpCookie)

Já que o método HttpResponse.SetCookie destina-se somente para uso interno, você não deve chamá-lo em seu código. Em vez disso, você pode chamar o método HttpResponse.Cookies.Set, conforme mostrado no exemplo a seguir.
Atualiza um cookie existente na coleção de cookie.

ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)
TransmitFile(String)

Grava o arquivo especificado diretamente em um fluxo de saída de resposta HTTP, sem armazená-lo em buffer na memória.

TransmitFile(String, Int64, Int64)

Grava a parte especificada de um arquivo diretamente em um fluxo de saída de resposta HTTP, sem armazená-lo em buffer na memória.

Write(Char)

Grava um caractere em um fluxo de saída de resposta HTTP.

Write(Char[], Int32, Int32)

Grava uma matriz de caracteres em um fluxo de saída de resposta HTTP.

Write(Object)

Grava um Object em um fluxo de resposta HTTP.

Write(String)

Grava uma cadeia de caracteres em um fluxo de saída de resposta HTTP.

WriteFile(IntPtr, Int64, Int64)

Grava o arquivo especificado diretamente em um fluxo de saída de resposta HTTP.

WriteFile(String)

Grava o conteúdo do arquivo especificado diretamente em um fluxo de saída de resposta HTTP como um bloco de arquivo.

WriteFile(String, Boolean)

Grava o conteúdo do arquivo especificado diretamente em um fluxo de saída de resposta HTTP como um bloco de memória.

WriteFile(String, Int64, Int64)

Grava o arquivo especificado diretamente em um fluxo de saída de resposta HTTP.

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 de saída em cache.

Aplica-se a