HttpResponse Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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:
- BinaryWrite
- Clear
- ClearContent
- ClearHeaders
- Close
- End
- Flush
- TransmitFile
- Write
- WriteFile
- WriteSubstitution
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 |
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 |
Status |
|
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 |
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 |
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. |
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. |