Partilhar via


HttpResponse Classe

Definição

Encapsula informações de resposta HTTP de uma operação de 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, ele Bitmap é salvo no Stream objeto associado à OutputStream propriedade e seu formato é definido como JPEG. O código chama os métodos e Dispose os Dispose métodos 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 pela palavra-chave Response. Por exemplo, Response.Clear() refere-se ao HttpResponse.Clear método. A Page classe tem uma propriedade nomeada 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>

Comentários

Os métodos e as propriedades da HttpResponse classe são expostos por meio da Response propriedade do HttpApplication, HttpContexte PageUserControl das classes.

Os seguintes métodos da HttpResponse classe têm suporte apenas em cenários pós-back e não em cenários de postback 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 Partial-Page visão geral da renderização.

Construtores

Nome Description
HttpResponse(TextWriter)

Inicializa uma nova instância da classe HttpResponse.

Propriedades

Nome Description
Buffer

Obtém ou define um valor que indica se a saída do buffer deve ser enviada após a conclusão do processamento da resposta completa.

BufferOutput

Obtém ou define um valor que indica se a saída do buffer deve ser enviada após o processamento concluído da página.

Cache

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

CacheControl

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

Charset

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

ClientDisconnectedToken

Obtém um CancellationToken objeto que é tropeçado 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 HTTP MIME do fluxo de saída.

Cookies

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

Expires

Obtém ou define o número de minutos antes que uma página armazenada em cache em um navegador expire. Se o usuário retornar à mesma página antes de expirar, a versão armazenada 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 para remover informações armazenadas em cache do cache. 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 Encoding objeto que representa a codificação do 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 do texto para o fluxo de resposta HTTP de saída.

OutputStream

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

RedirectLocation

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

Status

Define a Status linha que é retornada para o cliente.

StatusCode

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

StatusDescription

Obtém ou define a cadeia de caracteres de status HTTP da saída retornada para o 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 deve ser enviado ao cliente.

SuppressDefaultCacheControlHeader

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

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

Nome Description
AddCacheDependency(CacheDependency[])

Associa um conjunto de dependências de cache à resposta para facilitar a invalidação da resposta se ela for armazenada no cache de saída e as dependências especificadas forem alteradas.

AddCacheItemDependencies(ArrayList)

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

AddCacheItemDependencies(String[])

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

AddCacheItemDependency(String)

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

AddFileDependencies(ArrayList)

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

AddFileDependencies(String[])

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

AddFileDependency(String)

Adiciona um único nome de arquivo à coleção de nomes de arquivo na 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 ASP.NET invocará imediatamente antes que os cabeçalhos de resposta sejam enviados para essa solicitação.

AppendCookie(HttpCookie)

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

AppendHeader(String, String)

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

AppendToLog(String)

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

ApplyAppPathModifier(String)

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

BeginFlush(AsyncCallback, Object)

Envia a resposta em buffer no momento para o cliente.

BinaryWrite(Byte[])

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

Clear()

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

ClearContent()

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

ClearHeaders()

Limpa todos os cabeçalhos do fluxo de buffer.

Close()

Fecha a conexão de soquete com um cliente.

DisableKernelCache()

Desabilita o cache de kernel para a resposta atual.

DisableUserCache()

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

End()

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

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 armazenada em buffer no momento 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 Objectatual.

(Herdado de Object)
Pics(String)

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

PushPromise(String, String, NameValueCollection)

Dá suporte a aplicativos que enviam promessas por push para clientes HTTP 2.0. Para obter mais informações, consulte a Seção de Especificação HTTP/2 8.2: Push do servidor.

PushPromise(String)

Dá suporte a aplicativos que enviam promessas por push para clientes HTTP 2.0. Para obter mais informações, consulte a Seção de Especificação HTTP/2 8.2: Push do servidor.

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 encerrada.

Redirect(String)

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

RedirectPermanent(String, Boolean)

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

RedirectPermanent(String)

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

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, 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.

RedirectToRoute(String)

Redireciona uma solicitação para uma nova URL usando 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, Object)

Executa um redirecionamento permanente de uma URL solicitada para uma nova URL usando os valores de parâmetro de rota e o nome da rota que corresponde à 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.

RedirectToRoutePermanent(String)

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

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.

RemoveOutputCacheItem(String)

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

SetCookie(HttpCookie)

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

ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

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

Grava a parte especificada de um arquivo diretamente em um fluxo de saída de resposta HTTP sem fazer buffer na memória.

TransmitFile(String)

Grava o arquivo especificado diretamente em um fluxo de saída de resposta HTTP, sem fazer 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 em Object 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, 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.

WriteFile(String)

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

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

Aplica-se a