Sdílet prostřednictvím


HttpResponse Třída

Definice

Zapouzdřuje informace o odpovědi HTTP z operace ASP.NET.

public ref class HttpResponse sealed
public sealed class HttpResponse
type HttpResponse = class
Public NotInheritable Class HttpResponse
Dědičnost
HttpResponse

Příklady

Následující příklad nakreslí tři překrývající se obdélníky při vyžádání stránky. Kód začíná nastavením ContentType vlastnosti na image/jpeg, aby se celá stránka vykreslovala jako obrázek JPEG. Kód pak zavolá metodu Clear , aby se zajistilo, že se touto odpovědí neposílají nadbytečný obsah. Dále kód nastaví BufferOutput vlastnost na true, aby stránka byla zcela zpracována před odesláním do žádajícího klienta. K nakreslení obdélníků se pak vytvoří dva objekty: a BitmapGraphics objekt. Proměnné vytvořené na stránce se používají jako souřadnice k vykreslení obdélníků a řetězce, který se zobrazí uvnitř největšího obdélníku.

Když jsou nakresleny tři obdélníky a řetězec, který se zobrazí uvnitř, Bitmap je uložen do Stream objektu přidruženého OutputStream k vlastnosti a jeho formát je nastaven na JPEG. Kód volá Dispose metody a Dispose uvolní prostředky používané dvěma nakreslených objekty. Nakonec kód volá metodu Flush , která odešle odpověď do vyrovnávací paměti žádajícímu klientovi.

Poznámka:

V kódu je HttpResponse objekt odkazován klíčovým slovem Response. Například Response.Clear() odkazuje na metodu HttpResponse.Clear . Třída Page má vlastnost, která je pojmenována Response , která zveřejňuje aktuální instanci 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>

Poznámky

Metody a vlastnosti HttpResponse třídy jsou vystaveny prostřednictvím Response vlastnosti HttpApplication, HttpContext, Pagea UserControl třídy.

Následující metody HttpResponse třídy jsou podporovány pouze ve scénářích post back a ne v asynchronních scénářích post back:

Částečné aktualizace stránek jsou povoleny, když pomocí UpdatePanel ovládacích prvků aktualizujete vybrané oblasti stránky místo aktualizace celé stránky příspěvkem zpět. Další informace naleznete v tématu Přehled ovládacího prvku UpdatePanel a přehledPartial-Page Vykreslování.

Konstruktory

Name Description
HttpResponse(TextWriter)

Inicializuje novou instanci HttpResponse třídy.

Vlastnosti

Name Description
Buffer

Získá nebo nastaví hodnotu určující, zda se má výstup vyrovnávací paměti a odeslat ho po dokončení zpracování úplné odpovědi.

BufferOutput

Získá nebo nastaví hodnotu určující, zda se má výstup vyrovnávací paměti a odeslat ho po dokončení zpracování celé stránky.

Cache

Získá zásady ukládání do mezipaměti (například čas vypršení platnosti, nastavení ochrany osobních údajů a různé klauzule) webové stránky.

CacheControl

Získá nebo nastaví hlavičku Cache-Control HTTP, která odpovídá jedné z hodnot výčtu HttpCacheability .

Charset

Získá nebo nastaví znakové sady HTTP výstupního datového proudu.

ClientDisconnectedToken

CancellationToken Získá objekt, který je zahozen při odpojení klienta.

ContentEncoding

Získá nebo nastaví znakové sady HTTP výstupního datového proudu.

ContentType

Získá nebo nastaví typ HTTP MIME výstupního datového proudu.

Cookies

Získá kolekci souborů cookie odpovědi.

Expires

Získá nebo nastaví počet minut před vypršením platnosti stránky v mezipaměti v prohlížeči. Pokud se uživatel před vypršením platnosti vrátí na stejnou stránku, zobrazí se verze uložená v mezipaměti. Expires je poskytována z důvodu kompatibility se staršími verzemi ASP.

ExpiresAbsolute

Získá nebo nastaví absolutní datum a čas, ve kterém se mají odebrat informace uložené v mezipaměti. ExpiresAbsolute je poskytována z důvodu kompatibility se staršími verzemi ASP.

Filter

Získá nebo nastaví objekt filtru obtékání, který se používá k úpravě těla entity HTTP před přenosem.

HeaderEncoding

Získá nebo nastaví Encoding objekt, který představuje kódování pro aktuální výstupní datový proud záhlaví.

Headers

Získá kolekci hlaviček odpovědí.

HeadersWritten

Získá hodnotu určující, zda hlavičky odpovědi byly zapsány.

IsClientConnected

Získá hodnotu určující, zda klient je stále připojen k serveru.

IsRequestBeingRedirected

Získá logickou hodnotu označující, zda se klient přenáší do nového umístění.

Output

Umožňuje výstup textu do odchozího streamu odpovědí HTTP.

OutputStream

Povolí binární výstup do textu odchozího obsahu HTTP.

RedirectLocation

Získá nebo nastaví hodnotu hlavičky HTTP Location .

Status

Status Nastaví řádek vrácený klientovi.

StatusCode

Získá nebo nastaví stavový kód HTTP výstupu vráceného klientovi.

StatusDescription

Získá nebo nastaví stavový řetězec HTTP výstupu vráceného klientovi.

SubStatusCode

Získá nebo nastaví hodnotu opravňující stavový kód odpovědi.

SupportsAsyncFlush

Získá hodnotu, která označuje, zda připojení podporuje asynchronní operace vyprázdnění.

SuppressContent

Získá nebo nastaví hodnotu určující, zda odeslat obsah HTTP klientovi.

SuppressDefaultCacheControlHeader

Získá nebo nastaví hodnotu určující, zda má potlačit výchozí Cache Control: private hlavičku pro aktuální odpověď HTTP.

SuppressFormsAuthenticationRedirect

Získá nebo nastaví hodnotu, která určuje, zda se má potlačit přesměrování ověřování pomocí formulářů na přihlašovací stránku.

TrySkipIisCustomErrors

Získá nebo nastaví hodnotu, která určuje, zda jsou vlastní chyby IIS 7.0 zakázány.

Metody

Name Description
AddCacheDependency(CacheDependency[])

Přidruží sadu závislostí mezipaměti k odpovědi, která usnadňuje zneplatnění odpovědi, pokud je uložena ve výstupní mezipaměti a zadaná změna závislostí.

AddCacheItemDependencies(ArrayList)

Nastaví platnost odpovědi uložené v mezipaměti na závislosti na jiných položkách v mezipaměti.

AddCacheItemDependencies(String[])

Způsobí, že platnost položky uložené v mezipaměti závisí na jiné položce v mezipaměti.

AddCacheItemDependency(String)

Zneplatní platnost odpovědi uložené v mezipaměti na jiné položce v mezipaměti.

AddFileDependencies(ArrayList)

Přidá skupinu názvů souborů do kolekce názvů souborů, na kterých je aktuální odpověď závislá.

AddFileDependencies(String[])

Přidá pole názvů souborů do kolekce názvů souborů, na kterých je aktuální odpověď závislá.

AddFileDependency(String)

Přidá jeden název souboru do kolekce názvů souborů, na kterých je aktuální odpověď závislá.

AddHeader(String, String)

Přidá hlavičku HTTP do výstupního datového proudu. AddHeader(String, String) je poskytována z důvodu kompatibility se staršími verzemi ASP.

AddOnSendingHeaders(Action<HttpContext>)

Zaregistruje zpětné volání, které modul runtime ASP.NET vyvolá okamžitě před odesláním hlaviček odpovědí pro tento požadavek.

AppendCookie(HttpCookie)

Přidá soubor cookie HTTP do vnitřní kolekce souborů cookie.

AppendHeader(String, String)

Přidá hlavičku HTTP do výstupního datového proudu.

AppendToLog(String)

Přidá vlastní informace protokolu do souboru protokolu Internetové informační služby (IIS).

ApplyAppPathModifier(String)

Přidá ID relace do virtuální cesty, pokud relace používá Cookieless stav relace a vrátí kombinovanou cestu. Pokud Cookieless se stav relace nepoužívá, ApplyAppPathModifier(String) vrátí původní virtuální cestu.

BeginFlush(AsyncCallback, Object)

Odešle aktuálně vyrovnávací paměť odpovědi klientovi.

BinaryWrite(Byte[])

Zapíše řetězec binárních znaků do výstupního datového proudu HTTP.

Clear()

Vymaže veškerý výstup obsahu z streamu vyrovnávací paměti.

ClearContent()

Vymaže veškerý výstup obsahu z streamu vyrovnávací paměti.

ClearHeaders()

Vymaže všechna záhlaví z datového proudu vyrovnávací paměti.

Close()

Zavře připojení soketu k klientovi.

DisableKernelCache()

Zakáže ukládání jádra do mezipaměti pro aktuální odpověď.

DisableUserCache()

Zakáže ukládání do mezipaměti v uživatelském režimu služby IIS pro tuto odpověď.

End()

Odešle veškerý aktuálně vyrovnávací paměť výstup klientovi, zastaví spuštění stránky a vyvolá EndRequest událost.

EndFlush(IAsyncResult)

Dokončí asynchronní operaci vyprázdnění.

Equals(Object)

Určuje, zda je zadaný objekt roven aktuálnímu objektu.

(Zděděno od Object)
Flush()

Odešle veškerý aktuálně vyrovnávací paměť výstup klientovi.

FlushAsync()

Asynchronně odešle do klienta veškerý aktuálně vyrovnávací paměť výstupu.

GetHashCode()

Slouží jako výchozí funkce hash.

(Zděděno od Object)
GetType()

Získá Type aktuální instance.

(Zděděno od Object)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Object.

(Zděděno od Object)
Pics(String)

Připojí hlavičku HTTP PICS-Label k výstupnímu streamu.

PushPromise(String, String, NameValueCollection)

Podporuje aplikace odesílající nabízené sliby klientům HTTP 2.0. Další informace naleznete v části specifikace HTTP/2 8.2: Server Push.

PushPromise(String)

Podporuje aplikace odesílající nabízené sliby klientům HTTP 2.0. Další informace naleznete v části specifikace HTTP/2 8.2: Server Push.

Redirect(String, Boolean)

Přesměruje klienta na novou adresu URL. Určuje novou adresu URL a zda má být ukončeno spuštění aktuální stránky.

Redirect(String)

Přesměruje požadavek na novou adresu URL a určí novou adresu URL.

RedirectPermanent(String, Boolean)

Provede trvalé přesměrování z požadované adresy URL na zadanou adresu URL a poskytne možnost dokončení odpovědi.

RedirectPermanent(String)

Provede trvalé přesměrování z požadované adresy URL na zadanou adresu URL.

RedirectToRoute(Object)

Přesměruje požadavek na novou adresu URL pomocí hodnot parametrů trasy.

RedirectToRoute(RouteValueDictionary)

Přesměruje požadavek na novou adresu URL pomocí hodnot parametrů trasy.

RedirectToRoute(String, Object)

Přesměruje požadavek na novou adresu URL pomocí hodnot parametrů trasy a názvu trasy.

RedirectToRoute(String, RouteValueDictionary)

Přesměruje požadavek na novou adresu URL pomocí hodnot parametrů trasy a názvu trasy.

RedirectToRoute(String)

Přesměruje požadavek na novou adresu URL pomocí názvu trasy.

RedirectToRoutePermanent(Object)

Provede trvalé přesměrování z požadované adresy URL na novou adresu URL pomocí hodnot parametrů trasy.

RedirectToRoutePermanent(RouteValueDictionary)

Provede trvalé přesměrování z požadované adresy URL na novou adresu URL pomocí hodnot parametrů trasy.

RedirectToRoutePermanent(String, Object)

Provede trvalé přesměrování z požadované adresy URL na novou adresu URL pomocí hodnot parametrů trasy a názvu trasy, která odpovídá nové adrese URL.

RedirectToRoutePermanent(String, RouteValueDictionary)

Provede trvalé přesměrování z požadované adresy URL na novou adresu URL pomocí hodnot parametrů trasy a názvu trasy.

RedirectToRoutePermanent(String)

Provede trvalé přesměrování z požadované adresy URL na novou adresu URL pomocí názvu trasy.

RemoveOutputCacheItem(String, String)

Pomocí zadaného zprostředkovatele výstupní mezipaměti odebere všechny položky výstupní mezipaměti, které jsou přidružené k zadané cestě.

RemoveOutputCacheItem(String)

Odebere z mezipaměti všechny položky uložené v mezipaměti, které jsou přidružené k výchozímu poskytovateli výstupní mezipaměti. Tato metoda je statická.

SetCookie(HttpCookie)

Protože Metoda HttpResponse.SetCookie je určena pouze pro interní použití, neměli byste ji volat v kódu. Místo toho můžete volat HttpResponse.Cookies.Set metoda, jak ukazuje následující příklad.
Aktualizuje existující soubor cookie v kolekci souborů cookie.

ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)
TransmitFile(String, Int64, Int64)

Zapíše zadanou část souboru přímo do výstupního datového proudu odpovědi HTTP bez uložení do vyrovnávací paměti.

TransmitFile(String)

Zapíše zadaný soubor přímo do výstupního datového proudu odpovědi HTTP bez uložení do vyrovnávací paměti.

Write(Char)

Zapíše znak do výstupního datového proudu odpovědi HTTP.

Write(Char[], Int32, Int32)

Zapíše pole znaků do výstupního datového proudu odpovědi HTTP.

Write(Object)

Object Zapíše stream odpovědi HTTP.

Write(String)

Zapíše řetězec do výstupního streamu odpovědi HTTP.

WriteFile(IntPtr, Int64, Int64)

Zapíše zadaný soubor přímo do výstupního datového proudu odpovědi HTTP.

WriteFile(String, Boolean)

Zapíše obsah zadaného souboru přímo do výstupního datového proudu odpovědi HTTP jako blok paměti.

WriteFile(String, Int64, Int64)

Zapíše zadaný soubor přímo do výstupního datového proudu odpovědi HTTP.

WriteFile(String)

Zapíše obsah zadaného souboru přímo do výstupního datového proudu odpovědi HTTP jako blok souboru.

WriteSubstitution(HttpResponseSubstitutionCallback)

Umožňuje vložení bloků nahrazení odpovědí do odpovědi, což umožňuje dynamické generování zadaných oblastí odpovědí pro výstupní odpovědi uložené v mezipaměti.

Platí pro