Udostępnij za pośrednictwem


HttpResponse Klasa

Definicja

Hermetyzuje informacje o odpowiedzi HTTP z operacji ASP.NET.

public ref class HttpResponse sealed
public sealed class HttpResponse
type HttpResponse = class
Public NotInheritable Class HttpResponse
Dziedziczenie
HttpResponse

Przykłady

Poniższy przykład rysuje trzy nakładające się prostokąty po żądaniu strony. Kod zaczyna się od ustawienia ContentType właściwości na image/jpeg, aby cała strona została renderowana jako obraz JPEG. Następnie kod wywołuje metodę Clear , aby upewnić się, że nie jest wysyłana żadna zawartość dodatkowa z tą odpowiedzią. Następnie kod ustawia BufferOutput właściwość na true, aby strona została całkowicie przetworzona przed wysłaniem jej do klienta żądającego. Następnie tworzone są dwa obiekty służące do rysowania prostokątów: Bitmap obiekt i Graphics . Zmienne utworzone na stronie są używane jako współrzędne do rysowania prostokątów i ciągu, który pojawia się wewnątrz największego prostokąta.

Gdy trzy prostokąty i ciąg wyświetlany wewnątrz nich są rysowane, Bitmap jest zapisywany w Stream obiekcie skojarzonym z właściwością OutputStream , a jego format jest ustawiony na JPEG. Kod wywołuje Dispose metody i Dispose , aby zwolnić zasoby używane przez dwa obiekty rysunkowe. Na koniec kod wywołuje metodę Flush , aby wysłać buforowaną odpowiedź do klienta żądającego.

Uwaga

W kodzie HttpResponse obiekt jest określany przez słowo kluczowe Response. Na przykład Response.Clear() odwołuje się do HttpResponse.Clear metody . Klasa Page ma właściwość o nazwie Response , która uwidacznia bieżące wystąpienie klasy 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>

Uwagi

Metody i właściwości HttpResponse klasy są uwidocznione za pomocą Response właściwości HttpApplication, HttpContext, Pagei UserControl klas.

Następujące metody HttpResponse klasy są obsługiwane tylko w scenariuszach po powrocie, a nie w scenariuszach asynchronicznych po powrocie:

Aktualizacje częściowej strony są włączane w przypadku używania UpdatePanel kontrolek do aktualizowania wybranych regionów strony zamiast aktualizowania całej strony z powrotem. Aby uzyskać więcej informacji, zobacz Omówienie kontrolki UpdatePanel i Omówienie renderowania częściowego strony.

Konstruktory

HttpResponse(TextWriter)

Inicjuje nowe wystąpienie klasy HttpResponse.

Właściwości

Buffer

Pobiera lub ustawia wartość wskazującą, czy należy buforować dane wyjściowe i wysyłać je po zakończeniu przetwarzania pełnej odpowiedzi.

BufferOutput

Pobiera lub ustawia wartość wskazującą, czy należy buforować dane wyjściowe i wysyłać je po zakończeniu przetwarzania strony.

Cache

Pobiera zasady buforowania (takie jak czas wygaśnięcia, ustawienia prywatności i różne klauzule) strony sieci Web.

CacheControl

Pobiera lub ustawia Cache-Control nagłówek HTTP zgodny z jedną z HttpCacheability wartości wyliczenia.

Charset

Pobiera lub ustawia zestaw znaków HTTP strumienia wyjściowego.

ClientDisconnectedToken

Pobiera obiekt, który jest potknięty CancellationToken , gdy klient rozłącza się.

ContentEncoding

Pobiera lub ustawia zestaw znaków HTTP strumienia wyjściowego.

ContentType

Pobiera lub ustawia typ HTTP MIME strumienia wyjściowego.

Cookies

Pobiera kolekcję plików cookie odpowiedzi.

Expires

Pobiera lub ustawia liczbę minut przed wygaśnięciem strony buforowanej w przeglądarce. Jeśli użytkownik powróci do tej samej strony przed jej wygaśnięciem, zostanie wyświetlona buforowana wersja. Expires zapewnia zgodność z wcześniejszymi wersjami platformy ASP.

ExpiresAbsolute

Pobiera lub ustawia bezwzględną datę i godzinę usunięcia buforowanych informacji z pamięci podręcznej. ExpiresAbsolute zapewnia zgodność z wcześniejszymi wersjami platformy ASP.

Filter

Pobiera lub ustawia obiekt filtru opakowującego, który jest używany do modyfikowania treści jednostki HTTP przed przesłaniem.

HeaderEncoding

Pobiera lub ustawia Encoding obiekt reprezentujący kodowanie dla bieżącego strumienia wyjściowego nagłówka.

Headers

Pobiera kolekcję nagłówków odpowiedzi.

HeadersWritten

Pobiera wartość wskazującą, czy nagłówki odpowiedzi zostały zapisane.

IsClientConnected

Pobiera wartość wskazującą, czy klient jest nadal połączony z serwerem.

IsRequestBeingRedirected

Pobiera wartość logiczną wskazującą, czy klient jest przesyłany do nowej lokalizacji.

Output

Umożliwia przesyłanie danych wyjściowych tekstu do wychodzącego strumienia odpowiedzi HTTP.

OutputStream

Włącza dane wyjściowe binarne do wychodzącej treści zawartości HTTP.

RedirectLocation

Pobiera lub ustawia wartość nagłówka HTTP Location .

Status

Status Ustawia wiersz zwracany do klienta.

StatusCode

Pobiera lub ustawia kod stanu HTTP danych wyjściowych zwróconych klientowi.

StatusDescription

Pobiera lub ustawia ciąg stanu HTTP danych wyjściowych zwróconych klientowi.

SubStatusCode

Pobiera lub ustawia wartość kwalifikującą kod stanu odpowiedzi.

SupportsAsyncFlush

Pobiera wartość wskazującą, czy połączenie obsługuje operacje opróżniania asynchronicznego.

SuppressContent

Pobiera lub ustawia wartość wskazującą, czy wysyłać zawartość HTTP do klienta.

SuppressDefaultCacheControlHeader

Pobiera lub ustawia wartość wskazującą, czy pominąć domyślny Cache Control: private nagłówek bieżącej odpowiedzi HTTP.

SuppressFormsAuthenticationRedirect

Pobiera lub ustawia wartość określającą, czy przekierowanie uwierzytelniania formularzy do strony logowania powinno zostać pominięte.

TrySkipIisCustomErrors

Pobiera lub ustawia wartość określającą, czy błędy niestandardowe usług IIS 7.0 są wyłączone.

Metody

AddCacheDependency(CacheDependency[])

Kojarzy zestaw zależności pamięci podręcznej z odpowiedzią, aby ułatwić unieważnienie odpowiedzi, jeśli jest przechowywany w wyjściowej pamięci podręcznej i określonej zmianie zależności.

AddCacheItemDependencies(ArrayList)

Sprawia, że ważność buforowanej odpowiedzi zależy od innych elementów w pamięci podręcznej.

AddCacheItemDependencies(String[])

Sprawia, że ważność buforowanego elementu zależy od innego elementu w pamięci podręcznej.

AddCacheItemDependency(String)

Sprawia, że ważność buforowanej odpowiedzi zależy od innego elementu w pamięci podręcznej.

AddFileDependencies(ArrayList)

Dodaje grupę nazw plików do kolekcji nazw plików, od których zależy bieżąca odpowiedź.

AddFileDependencies(String[])

Dodaje tablicę nazw plików do kolekcji nazw plików, od których zależy bieżąca odpowiedź.

AddFileDependency(String)

Dodaje pojedynczą nazwę pliku do kolekcji nazw plików, od których zależy bieżąca odpowiedź.

AddHeader(String, String)

Dodaje nagłówek HTTP do strumienia wyjściowego. AddHeader(String, String) zapewnia zgodność z wcześniejszymi wersjami platformy ASP.

AddOnSendingHeaders(Action<HttpContext>)

Rejestruje wywołanie zwrotne, które środowisko uruchomieniowe ASP.NET wywoła bezpośrednio przed wysłaniem nagłówków odpowiedzi dla tego żądania.

AppendCookie(HttpCookie)

Dodaje plik cookie HTTP do wewnętrznej kolekcji plików cookie.

AppendHeader(String, String)

Dodaje nagłówek HTTP do strumienia wyjściowego.

AppendToLog(String)

Dodaje niestandardowe informacje dziennika do pliku dziennika usług Internet Information Services (IIS).

ApplyAppPathModifier(String)

Dodaje identyfikator sesji do ścieżki wirtualnej, jeśli sesja używa Cookieless stanu sesji i zwraca połączoną ścieżkę. Jeśli Cookieless stan sesji nie jest używany, ApplyAppPathModifier(String) zwraca oryginalną ścieżkę wirtualną.

BeginFlush(AsyncCallback, Object)

Wysyła obecnie buforowaną odpowiedź do klienta.

BinaryWrite(Byte[])

Zapisuje ciąg znaków binarnych do strumienia wyjściowego HTTP.

Clear()

Czyści wszystkie dane wyjściowe zawartości ze strumienia buforu.

ClearContent()

Czyści wszystkie dane wyjściowe zawartości ze strumienia buforu.

ClearHeaders()

Czyści wszystkie nagłówki ze strumienia buforu.

Close()

Zamyka połączenie gniazda z klientem.

DisableKernelCache()

Wyłącza buforowanie jądra dla bieżącej odpowiedzi.

DisableUserCache()

Wyłącza buforowanie w trybie użytkownika usług IIS dla tej odpowiedzi.

End()

Wysyła wszystkie aktualnie buforowane dane wyjściowe do klienta, zatrzymuje wykonywanie strony i zgłasza EndRequest zdarzenie.

EndFlush(IAsyncResult)

Wykonuje operację asynchronicznego opróżniania.

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
Flush()

Wysyła wszystkie aktualnie buforowane dane wyjściowe do klienta.

FlushAsync()

Asynchronicznie wysyła wszystkie aktualnie buforowane dane wyjściowe do klienta.

GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetType()

Type Pobiera wartość bieżącego wystąpienia.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
Pics(String)

Dołącza nagłówek HTTP PICS-Label do strumienia wyjściowego.

PushPromise(String)

Obsługuje aplikacje wysyłające obietnice wypychania do klientów HTTP 2.0. Aby uzyskać więcej informacji, zobacz Http/2 Specification Section 8.2: Server Push (Sekcja 8.2: Wypychanie serwera).

PushPromise(String, String, NameValueCollection)

Obsługuje aplikacje wysyłające obietnice wypychania do klientów HTTP 2.0. Aby uzyskać więcej informacji, zobacz Http/2 Specification Section 8.2: Server Push (Sekcja 8.2: Wypychanie serwera).

Redirect(String)

Przekierowuje żądanie do nowego adresu URL i określa nowy adres URL.

Redirect(String, Boolean)

Przekierowuje klienta do nowego adresu URL. Określa nowy adres URL i określa, czy wykonanie bieżącej strony powinno zakończyć się.

RedirectPermanent(String)

Wykonuje trwałe przekierowanie z żądanego adresu URL do określonego adresu URL.

RedirectPermanent(String, Boolean)

Wykonuje trwałe przekierowanie z żądanego adresu URL do określonego adresu URL i udostępnia opcję ukończenia odpowiedzi.

RedirectToRoute(Object)

Przekierowuje żądanie do nowego adresu URL przy użyciu wartości parametrów trasy.

RedirectToRoute(RouteValueDictionary)

Przekierowuje żądanie do nowego adresu URL przy użyciu wartości parametrów trasy.

RedirectToRoute(String)

Przekierowuje żądanie do nowego adresu URL przy użyciu nazwy trasy.

RedirectToRoute(String, Object)

Przekierowuje żądanie do nowego adresu URL przy użyciu wartości parametrów trasy i nazwy trasy.

RedirectToRoute(String, RouteValueDictionary)

Przekierowuje żądanie do nowego adresu URL przy użyciu wartości parametrów trasy i nazwy trasy.

RedirectToRoutePermanent(Object)

Wykonuje trwałe przekierowanie z żądanego adresu URL do nowego adresu URL przy użyciu wartości parametrów trasy.

RedirectToRoutePermanent(RouteValueDictionary)

Wykonuje trwałe przekierowanie z żądanego adresu URL do nowego adresu URL przy użyciu wartości parametrów trasy.

RedirectToRoutePermanent(String)

Wykonuje trwałe przekierowanie z żądanego adresu URL do nowego adresu URL przy użyciu nazwy trasy.

RedirectToRoutePermanent(String, Object)

Wykonuje trwałe przekierowanie z żądanego adresu URL do nowego adresu URL przy użyciu wartości parametrów trasy i nazwy trasy odpowiadającej nowemu adresowi URL.

RedirectToRoutePermanent(String, RouteValueDictionary)

Wykonuje trwałe przekierowanie z żądanego adresu URL do nowego adresu URL przy użyciu wartości parametrów trasy i nazwy trasy.

RemoveOutputCacheItem(String)

Usuwa z pamięci podręcznej wszystkie buforowane elementy skojarzone z domyślnym dostawcą wyjściowej pamięci podręcznej. Ta metoda jest statyczna.

RemoveOutputCacheItem(String, String)

Używa określonego dostawcy wyjściowej pamięci podręcznej, aby usunąć wszystkie elementy wyjściowej pamięci podręcznej skojarzone z określoną ścieżką.

SetCookie(HttpCookie)

Ponieważ metoda HttpResponse.SetCookie jest przeznaczona tylko do użytku wewnętrznego, nie należy jej wywoływać w kodzie. Zamiast tego można wywołać metodę HttpResponse.Cookies.Set , jak pokazano w poniższym przykładzie.
Aktualizacje istniejącego pliku cookie w kolekcji plików cookie.

ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)
TransmitFile(String)

Zapisuje określony plik bezpośrednio do strumienia wyjściowego odpowiedzi HTTP bez buforowania go w pamięci.

TransmitFile(String, Int64, Int64)

Zapisuje określoną część pliku bezpośrednio do strumienia wyjściowego odpowiedzi HTTP bez buforowania go w pamięci.

Write(Char)

Zapisuje znak do strumienia wyjściowego odpowiedzi HTTP.

Write(Char[], Int32, Int32)

Zapisuje tablicę znaków do strumienia wyjściowego odpowiedzi HTTP.

Write(Object)

Zapisuje element Object do strumienia odpowiedzi HTTP.

Write(String)

Zapisuje ciąg do strumienia wyjściowego odpowiedzi HTTP.

WriteFile(IntPtr, Int64, Int64)

Zapisuje określony plik bezpośrednio do strumienia wyjściowego odpowiedzi HTTP.

WriteFile(String)

Zapisuje zawartość określonego pliku bezpośrednio do strumienia wyjściowego odpowiedzi HTTP jako bloku plików.

WriteFile(String, Boolean)

Zapisuje zawartość określonego pliku bezpośrednio do strumienia wyjściowego odpowiedzi HTTP jako bloku pamięci.

WriteFile(String, Int64, Int64)

Zapisuje określony plik bezpośrednio do strumienia wyjściowego odpowiedzi HTTP.

WriteSubstitution(HttpResponseSubstitutionCallback)

Umożliwia wstawianie bloków podstawienia odpowiedzi do odpowiedzi, co umożliwia dynamiczne generowanie określonych regionów odpowiedzi dla wyjściowych buforowanych odpowiedzi.

Dotyczy