Condividi tramite


HttpResponse Classe

Definizione

Incapsula le informazioni sulla risposta HTTP da un'operazione ASP.NET.

public ref class HttpResponse sealed
public sealed class HttpResponse
type HttpResponse = class
Public NotInheritable Class HttpResponse
Ereditarietà
HttpResponse

Esempio

L'esempio seguente disegna tre rettangoli sovrapposti quando viene richiesta la pagina. Il codice inizia impostando la ContentType proprietà su image/jpeg, in modo che l'intera pagina venga eseguito il rendering come immagine JPEG. Il codice chiama quindi il Clear metodo per assicurarsi che non venga inviato alcun contenuto extraneo con questa risposta. Successivamente, il codice imposta la BufferOutput proprietà su true in modo che la pagina venga completamente elaborata prima che venga inviata al client di richiesta. Vengono quindi creati due oggetti usati per disegnare i rettangoli: un Bitmap oggetto e .Graphics Le variabili create nella pagina vengono usate come coordinate per disegnare i rettangoli e una stringa visualizzata all'interno del rettangolo più grande.

Quando vengono disegnati i tre rettangoli e la stringa visualizzata all'interno di essi, l'oggetto Bitmap viene salvato nell'oggetto Stream associato OutputStream alla proprietà e il relativo formato è impostato su JPEG. Il codice chiama i Dispose metodi e Dispose per rilasciare le risorse usate dai due oggetti di disegno. Infine, il codice chiama il Flush metodo per inviare la risposta memorizzata nel buffer al client richiedente.

Nota

Nel codice l'oggetto HttpResponse viene definito dalla parola chiave Response. Ad esempio, Response.Clear() fa riferimento al HttpResponse.Clear metodo . La Page classe ha una proprietà denominata Response che espone l'istanza corrente di 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>

Commenti

I metodi e le proprietà della HttpResponse classe vengono esposti tramite la Response proprietà delle HttpApplicationclassi , HttpContext, Pagee UserControl .

I metodi seguenti della HttpResponse classe sono supportati solo negli scenari postback e non negli scenari di postback asincroni:

Gli aggiornamenti a pagina parziale sono abilitati quando si usano UpdatePanel i controlli per aggiornare le aree selezionate di una pagina anziché aggiornare l'intera pagina con un post indietro. Per altre informazioni, vedere Panoramica del controllo UpdatePanel e Panoramica del rendering di pagine parziali.

Costruttori

HttpResponse(TextWriter)

Inizializza una nuova istanza della classe HttpResponse.

Proprietà

Buffer

Ottiene o imposta un valore che indica se memorizzare l'output nel buffer e inviarlo al termine dell'elaborazione dell'intera risposta.

BufferOutput

Ottiene o imposta un valore che indica se memorizzare l'output nel buffer e inviarlo al termine dell'elaborazione dell'intera pagina.

Cache

Ottiene i criteri di memorizzazione nella cache di una pagina Web (tempo di scadenza, impostazioni di privacy, clausole di variazione).

CacheControl

Ottiene o imposta l'intestazione HTTP Cache-Control corrispondente a uno dei valori dell'enumerazione HttpCacheability.

Charset

Ottiene o imposta il set di caratteri HTTP del flusso di output.

ClientDisconnectedToken

Ottiene un oggetto CancellationToken che viene attivato in caso di disconnessione del client.

ContentEncoding

Ottiene o imposta il set di caratteri HTTP del flusso di output.

ContentType

Ottiene o imposta il tipo MIME HTTP del flusso di output.

Cookies

Ottiene la raccolta di cookie di risposta.

Expires

Ottiene o imposta il numero di minuti dopo i quali una pagina inserita nella cache di un browser scade. Se l'utente torna alla stessa pagina prima che scada, viene visualizzata la versione memorizzata nella cache. Expires viene fornito per supportare la compatibilità con le versioni precedenti di ASP.

ExpiresAbsolute

Ottiene o imposta la data e l'ora assolute in cui rimuovere le informazioni memorizzate dalla cache. ExpiresAbsolute viene fornito per supportare la compatibilità con le versioni precedenti di ASP.

Filter

Ottiene o imposta un oggetto filtro di wrapping usato per modificare il corpo dell'entità HTTP prima della trasmissione.

HeaderEncoding

Ottiene o imposta un oggetto Encoding che rappresenta la codifica per il flusso di output dell'intestazione corrente.

Headers

Ottiene la raccolta di intestazioni di risposta.

HeadersWritten

Ottiene un valore che indica se le intestazioni delle risposte sono state scritte.

IsClientConnected

Viene fornito un valore che indica se il client è ancora connesso al server.

IsRequestBeingRedirected

Ottiene un valore booleano che indica se il client è in fase di trasferimento a una nuova posizione.

Output

Consente l'output del testo verso il flusso di risposta HTTP in uscita.

OutputStream

Consente l'output binario verso il corpo del contenuto HTTP in uscita.

RedirectLocation

Ottiene o imposta il valore dell'intestazione Location HTTP.

Status

Imposta la riga Status restituita al client.

StatusCode

Ottiene o imposta il codice di stato HTTP dell'output restituito al client.

StatusDescription

Ottiene o imposta la stringa di stato HTTP dell'output restituito al client.

SubStatusCode

Ottiene o imposta un valore che qualifica il codice di stato della risposta.

SupportsAsyncFlush

Ottiene un valore che indica se la connessione supporta le operazioni di scaricamento asincrone.

SuppressContent

Ottiene o imposta un valore che indica se inviare il contenuto HTTP al client.

SuppressDefaultCacheControlHeader

Ottiene o imposta un valore che indica se eliminare l'intestazione predefinita Cache Control: private per la risposta HTTP corrente.

SuppressFormsAuthenticationRedirect

Ottiene o imposta un valore che specifica se il reindirizzamento di autenticazione basata su form alla pagina di accesso deve essere eliminato.

TrySkipIisCustomErrors

Ottiene o imposta un valore che specifica se gli errori personalizzati di IIS 7.0 sono disabilitati.

Metodi

AddCacheDependency(CacheDependency[])

Associa un set di dipendenze della cache alla risposta per semplificare l'invalidamento della risposta se è stata memorizzata nella cache di output e le dipendenze specificate vengono modificate.

AddCacheItemDependencies(ArrayList)

Rende la validità di una risposta memorizzata nella cache dipendente da altri elementi della cache.

AddCacheItemDependencies(String[])

Rende la validità di un elemento memorizzato nella cache dipendente da un altro elemento della cache.

AddCacheItemDependency(String)

Rende la validità di una risposta memorizzata nella cache dipendente da un altro elemento della cache.

AddFileDependencies(ArrayList)

Aggiunge un gruppo di nomi file alla raccolta dei nomi file da cui dipende la risposta corrente.

AddFileDependencies(String[])

Aggiunge una matrice di nomi file alla raccolta dei nomi file da cui dipende la risposta corrente.

AddFileDependency(String)

Consente di aggiungere un singolo nome di file all'insieme dei nomi di file da cui dipende la risposta corrente.

AddHeader(String, String)

Aggiunge un'intestazione HTTP al flusso di output. AddHeader(String, String) viene fornito per supportare la compatibilità con le versioni precedenti di ASP.

AddOnSendingHeaders(Action<HttpContext>)

Registra un callback che verrà richiamato dal runtime ASP.NET immediatamente prima che le intestazioni di risposta vengano inviate per questa richiesta.

AppendCookie(HttpCookie)

Aggiunge un cookie HTTP alla raccolta di cookie intrinseca.

AppendHeader(String, String)

Aggiunge un'intestazione HTTP al flusso di output.

AppendToLog(String)

Aggiunge informazioni di log personalizzate nel file di log IIS (Internet Information Services).

ApplyAppPathModifier(String)

Aggiunge un ID sessione al percorso virtuale, se la sessione utilizza lo stato di sessione Cookieless e restituisce il percorso combinato. Se non viene utilizzato lo stato di sessione Cookieless il metodo ApplyAppPathModifier(String) restituisce il percorso virtuale originale.

BeginFlush(AsyncCallback, Object)

Invia al client la risposta attualmente memorizzata nel buffer.

BinaryWrite(Byte[])

Scrive una stringa di caratteri binari nel flusso di output HTTP.

Clear()

Cancella tutto l'output di contenuto dal flusso del buffer.

ClearContent()

Cancella tutto l'output di contenuto dal flusso del buffer.

ClearHeaders()

Cancella tutte le intestazioni dal flusso del buffer.

Close()

Chiude la connessione socket a un client.

DisableKernelCache()

Disabilita la memorizzazione nella cache del kernel per la risposta corrente.

DisableUserCache()

Disabilita la memorizzazione nella cache in modalità utente di IIS per la risposta.

End()

Invia al client tutto l'output attualmente memorizzato nel buffer, interrompe l'esecuzione della pagina e genera l'evento EndRequest.

EndFlush(IAsyncResult)

Completa un'operazione di svuotamento asincrona.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
Flush()

Invia al client tutto l'output attualmente memorizzato nel buffer.

FlushAsync()

Invia in modo asincrono al client tutto l'output attualmente memorizzato nel buffer.

GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
Pics(String)

Aggiunge un'intestazione HTTP PICS-Label al flusso di output.

PushPromise(String)

Supporta le applicazioni che inviano promesse push ai client HTTP 2.0. Per altre informazioni, vedere HTTP/2 Specification Section 8.2: Server Push (Specifica HTTP/2, sezione 8.2: push del server).

PushPromise(String, String, NameValueCollection)

Supporta le applicazioni che inviano promesse push ai client HTTP 2.0. Per altre informazioni, vedere HTTP/2 Specification Section 8.2: Server Push (Specifica HTTP/2, sezione 8.2: push del server).

Redirect(String)

Reindirizza una richiesta a un nuovo URL e specifica il nuovo URL.

Redirect(String, Boolean)

Reindirizza un client a un nuovo URL. Specifica il nuovo URL e se l'esecuzione della pagina corrente deve terminare.

RedirectPermanent(String)

Esegue un reindirizzamento permanente dall'URL richiesto all'URL specificato.

RedirectPermanent(String, Boolean)

Esegue un reindirizzamento permanente dall'URL richiesto all'URL specificato e fornisce l'opzione per completare la risposta.

RedirectToRoute(Object)

Reindirizza una richiesta a un nuovo URL tramite valori di parametri di route.

RedirectToRoute(RouteValueDictionary)

Reindirizza una richiesta a un nuovo URL tramite valori di parametri di route.

RedirectToRoute(String)

Reindirizza una richiesta a un nuovo URL tramite un nome di route.

RedirectToRoute(String, Object)

Reindirizza una richiesta a un nuovo URL tramite valori di parametri di route e un nome di route.

RedirectToRoute(String, RouteValueDictionary)

Reindirizza una richiesta a un nuovo URL tramite valori di parametri di route e un nome di route.

RedirectToRoutePermanent(Object)

Esegue un reindirizzamento permanente da un URL richiesto a un nuovo URL tramite valori di parametri di route.

RedirectToRoutePermanent(RouteValueDictionary)

Esegue un reindirizzamento permanente da un URL richiesto a un nuovo URL tramite valori di parametri di route.

RedirectToRoutePermanent(String)

Esegue un reindirizzamento permanente da un URL richiesto a un nuovo URL tramite un nome di route.

RedirectToRoutePermanent(String, Object)

Esegue un reindirizzamento permanente da un URL richiesto a un nuovo URL tramite i valori di parametri di route e il nome di route corrispondenti al nuovo URL.

RedirectToRoutePermanent(String, RouteValueDictionary)

Esegue un reindirizzamento permanente da un URL richiesto a un nuovo URL tramite valori di parametri di route e un nome di route.

RemoveOutputCacheItem(String)

Rimuove dalla cache tutti gli elementi memorizzati associati al provider della cache di output predefinito. Il metodo è statico.

RemoveOutputCacheItem(String, String)

Usa il provider della cache di output specificato per rimuovere tutti gli elementi della cache di output associati al percorso specificato.

SetCookie(HttpCookie)

Poiché il metodo HttpResponse.SetCookie è solo per uso interno, non è possibile chiamarlo nel codice. In alternativa, è possibile chiamare il metodo HttpResponse.Cookies.Set, come illustrato nell'esempio seguente.
Aggiorna un cookie esistente nella raccolta di cookie.

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)
TransmitFile(String)

Scrive il file specificato direttamente in un flusso di output di risposta HTTP senza memorizzarlo nel buffer.

TransmitFile(String, Int64, Int64)

Scrive la parte di file specificata direttamente in un flusso di output di risposta HTTP senza memorizzarla nel buffer.

Write(Char)

Scrive un carattere in un flusso di output di risposta HTTP.

Write(Char[], Int32, Int32)

Scrive una matrice di caratteri in un flusso di output di risposta HTTP.

Write(Object)

Scrive un oggetto Object in un flusso della risposta HTTP.

Write(String)

Scrive una stringa in un flusso di output di risposta HTTP.

WriteFile(IntPtr, Int64, Int64)

Scrive il file specificato direttamente in un flusso di output di risposta HTTP.

WriteFile(String)

Scrive il contenuto del file specificato direttamente in un flusso di output di risposta HTTP come blocco file.

WriteFile(String, Boolean)

Scrive il contenuto del file specificato direttamente in un flusso di output di risposta HTTP come blocco di memoria.

WriteFile(String, Int64, Int64)

Scrive il file specificato direttamente in un flusso di output di risposta HTTP.

WriteSubstitution(HttpResponseSubstitutionCallback)

Consente l'inserimento di blocchi di sostituzione della risposta nella risposta, che consente la generazione dinamica di aree di risposta specificate per risposte memorizzate nella cache di output.

Si applica a