Поделиться через


HttpResponse Класс

Определение

Инкапсулирует сведения о HTTP-ответе из операции ASP.NET.

public ref class HttpResponse sealed
public sealed class HttpResponse
type HttpResponse = class
Public NotInheritable Class HttpResponse
Наследование
HttpResponse

Примеры

Следующий пример рисует три перекрывающихся прямоугольника при запросе страницы. Код начинается с задания ContentType свойства на изображение или jpeg, чтобы вся страница отображалась как изображение JPEG. Затем код вызывает Clear метод, чтобы убедиться, что никакое дополнительное содержимое не отправляется с этим ответом. Затем код задает BufferOutput свойство true, чтобы страница была полностью обработана перед отправкой клиенту запроса. Затем создаются два объекта, используемых для рисования прямоугольников: a Bitmap и Graphics объект. Переменные, созданные на странице, используются в качестве координат для рисования прямоугольников и строки, которая отображается внутри самого большого прямоугольника.

При рисовании трех прямоугольников и строки, отображаемой внутри них, сохраняется Stream в объекте, связанном с OutputStream свойством, Bitmap и его формат имеет значение JPEG. Код вызывает Dispose и Dispose методы для освобождения ресурсов, используемых двумя объектами рисования. Наконец, код вызывает Flush метод для отправки буферизованного ответа клиенту запроса.

Замечание

В коде HttpResponse объект ссылается на ключевое слово Response. Например, Response.Clear() относится к методу HttpResponse.Clear . Класс Page имеет свойство, которое называется Response , которое предоставляет текущий экземпляр 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>

Комментарии

Методы и свойства HttpResponse класса предоставляются через Response свойство HttpApplication, HttpContextPageи UserControl классы.

Следующие методы класса поддерживаются только в сценариях обратной передачи, а не в асинхронных сценариях обратной HttpResponse передачи.

Обновления частичной страницы включены при использовании UpdatePanel элементов управления для обновления выбранных регионов страницы вместо обновления всей страницы с обратной записью. Дополнительные сведения см. в разделе "Обзор элемента управления UpdatePanel" и обзорPartial-Page отрисовки.

Конструкторы

Имя Описание
HttpResponse(TextWriter)

Инициализирует новый экземпляр класса HttpResponse.

Свойства

Имя Описание
Buffer

Возвращает или задает значение, указывающее, следует ли буферировать выходные данные и отправлять его после завершения обработки ответа.

BufferOutput

Возвращает или задает значение, указывающее, следует ли буферировать выходные данные и отправлять его после завершения обработки страницы.

Cache

Возвращает политику кэширования (например, срок действия, параметры конфиденциальности и различные предложения) веб-страницы.

CacheControl

Возвращает или задает Cache-Control заголовок HTTP, соответствующий одному из значений HttpCacheability перечисления.

Charset

Возвращает или задает набор символов HTTP выходного потока.

ClientDisconnectedToken

Возвращает объект, споткнутый CancellationToken при отключении клиента.

ContentEncoding

Возвращает или задает набор символов HTTP выходного потока.

ContentType

Возвращает или задает тип HTTP MIME выходного потока.

Cookies

Возвращает коллекцию файлов cookie ответа.

Expires

Возвращает или задает количество минут до истечения срока действия кэшированного страницы в браузере. Если пользователь возвращается на ту же страницу до истечения срока действия, отображается кэшированная версия. Expires предоставляется для совместимости с более ранними версиями ASP.

ExpiresAbsolute

Возвращает или задает абсолютную дату и время удаления кэшированных данных из кэша. ExpiresAbsolute предоставляется для совместимости с более ранними версиями ASP.

Filter

Возвращает или задает объект фильтра оболочки, используемый для изменения тела сущности HTTP перед передачей.

HeaderEncoding

Возвращает или задает Encoding объект, представляющий кодировку для текущего потока выходных данных заголовка.

Headers

Возвращает коллекцию заголовков ответа.

HeadersWritten

Возвращает значение, указывающее, были ли записаны заголовки ответа.

IsClientConnected

Возвращает значение, указывающее, подключен ли клиент к серверу.

IsRequestBeingRedirected

Возвращает логическое значение, указывающее, передается ли клиент в новое расположение.

Output

Включает выходные данные текста в исходящий поток ответа HTTP.

OutputStream

Включает двоичные выходные данные в исходящий текст содержимого HTTP.

RedirectLocation

Возвращает или задает значение заголовка HTTP Location .

Status

Status Задает строку, возвращаемую клиенту.

StatusCode

Возвращает или задает код состояния HTTP выходных данных, возвращенных клиенту.

StatusDescription

Возвращает или задает строку состояния HTTP выходных данных, возвращенных клиенту.

SubStatusCode

Возвращает или задает значение, определяющее код состояния ответа.

SupportsAsyncFlush

Возвращает значение, указывающее, поддерживает ли подключение асинхронные операции очистки.

SuppressContent

Возвращает или задает значение, указывающее, следует ли отправлять http-содержимое клиенту.

SuppressDefaultCacheControlHeader

Возвращает или задает значение, указывающее, следует ли подавлять заголовок по умолчанию Cache Control: private для текущего HTTP-ответа.

SuppressFormsAuthenticationRedirect

Возвращает или задает значение, указывающее, следует ли отключать перенаправление проверки подлинности форм на страницу входа.

TrySkipIisCustomErrors

Возвращает или задает значение, указывающее, отключены ли пользовательские ошибки IIS 7.0.

Методы

Имя Описание
AddCacheDependency(CacheDependency[])

Связывает набор зависимостей кэша с ответом, чтобы упростить недопустимость ответа, если он хранится в выходном кэше, и указанные изменения зависимостей.

AddCacheItemDependencies(ArrayList)

Делает допустимость кэшированного ответа зависит от других элементов в кэше.

AddCacheItemDependencies(String[])

Делает допустимость кэшированного элемента зависящей от другого элемента в кэше.

AddCacheItemDependency(String)

Делает допустимость кэшированного ответа зависит от другого элемента в кэше.

AddFileDependencies(ArrayList)

Добавляет группу имен файлов в коллекцию имен файлов, от которых зависит текущий ответ.

AddFileDependencies(String[])

Добавляет массив имен файлов в коллекцию имен файлов, от которых зависит текущий ответ.

AddFileDependency(String)

Добавляет одно имя файла в коллекцию имен файлов, от которых зависит текущий ответ.

AddHeader(String, String)

Добавляет заголовок HTTP в выходной поток. AddHeader(String, String) предоставляется для совместимости с более ранними версиями ASP.

AddOnSendingHeaders(Action<HttpContext>)

Регистрирует обратный вызов, который среда выполнения ASP.NET будет вызываться непосредственно перед отправкой заголовков ответа для этого запроса.

AppendCookie(HttpCookie)

Добавляет HTTP-файл cookie в встроенную коллекцию файлов cookie.

AppendHeader(String, String)

Добавляет заголовок HTTP в выходной поток.

AppendToLog(String)

Добавляет пользовательские сведения журнала в файл журнала Служб IIS.

ApplyAppPathModifier(String)

Добавляет идентификатор сеанса в виртуальный путь, если сеанс использует Cookieless состояние сеанса и возвращает объединенный путь. Если Cookieless состояние сеанса не используется, ApplyAppPathModifier(String) возвращает исходный виртуальный путь.

BeginFlush(AsyncCallback, Object)

Отправляет клиенту буферный ответ.

BinaryWrite(Byte[])

Записывает строку двоичных символов в выходной поток HTTP.

Clear()

Очищает все выходные данные содержимого из буферного потока.

ClearContent()

Очищает все выходные данные содержимого из буферного потока.

ClearHeaders()

Очищает все заголовки из буферного потока.

Close()

Закрывает подключение сокета к клиенту.

DisableKernelCache()

Отключает кэширование ядра для текущего ответа.

DisableUserCache()

Отключает кэширование в пользовательском режиме IIS для этого ответа.

End()

Отправляет все буферированные выходные данные клиенту, останавливает выполнение страницы и вызывает EndRequest событие.

EndFlush(IAsyncResult)

Завершает асинхронную операцию очистки.

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
Flush()

Отправляет все буферированные выходные данные клиенту.

FlushAsync()

Асинхронно отправляет все буферированные выходные данные клиенту.

GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetType()

Возвращает Type текущего экземпляра.

(Унаследовано от Object)
MemberwiseClone()

Создает неглубокую копию текущей Object.

(Унаследовано от Object)
Pics(String)

Добавляет заголовок HTTP PICS-Label в выходной поток.

PushPromise(String, String, NameValueCollection)

Поддерживает приложения, отправляя push-обещания клиентам HTTP 2.0. Дополнительные сведения см. в разделе спецификации HTTP/2: push-отправка сервера.

PushPromise(String)

Поддерживает приложения, отправляя push-обещания клиентам HTTP 2.0. Дополнительные сведения см. в разделе спецификации HTTP/2: push-отправка сервера.

Redirect(String, Boolean)

Перенаправляет клиента на новый URL-адрес. Указывает новый URL-адрес и должен ли завершиться выполнение текущей страницы.

Redirect(String)

Перенаправляет запрос на новый URL-адрес и задает новый URL-адрес.

RedirectPermanent(String, Boolean)

Выполняет постоянное перенаправление из запрошенного URL-адреса в указанный URL-адрес и предоставляет возможность завершить ответ.

RedirectPermanent(String)

Выполняет постоянное перенаправление из запрошенного URL-адреса в указанный URL-адрес.

RedirectToRoute(Object)

Перенаправляет запрос на новый URL-адрес с помощью значений параметров маршрута.

RedirectToRoute(RouteValueDictionary)

Перенаправляет запрос на новый URL-адрес с помощью значений параметров маршрута.

RedirectToRoute(String, Object)

Перенаправляет запрос на новый URL-адрес с помощью значений параметров маршрута и имени маршрута.

RedirectToRoute(String, RouteValueDictionary)

Перенаправляет запрос на новый URL-адрес с помощью значений параметров маршрута и имени маршрута.

RedirectToRoute(String)

Перенаправляет запрос на новый URL-адрес с помощью имени маршрута.

RedirectToRoutePermanent(Object)

Выполняет постоянное перенаправление из запрошенного URL-адреса в новый URL-адрес с помощью значений параметров маршрута.

RedirectToRoutePermanent(RouteValueDictionary)

Выполняет постоянное перенаправление из запрошенного URL-адреса в новый URL-адрес с помощью значений параметров маршрута.

RedirectToRoutePermanent(String, Object)

Выполняет постоянное перенаправление с запрошенного URL-адреса на новый URL-адрес с помощью значений параметров маршрута и имени маршрута, соответствующего новому URL-адресу.

RedirectToRoutePermanent(String, RouteValueDictionary)

Выполняет постоянное перенаправление из запрошенного URL-адреса в новый URL-адрес с помощью значений параметров маршрута и имени маршрута.

RedirectToRoutePermanent(String)

Выполняет постоянное перенаправление с запрошенного URL-адреса на новый URL-адрес с помощью имени маршрута.

RemoveOutputCacheItem(String, String)

Использует указанный поставщик кэша выходных данных для удаления всех элементов кэша выходных данных, связанных с указанным путем.

RemoveOutputCacheItem(String)

Удаляет из кэша все кэшированные элементы, связанные с поставщиком выходного кэша по умолчанию. Этот метод является статическим.

SetCookie(HttpCookie)

Так как метод HttpResponse.SetCookie предназначен только для внутреннего использования, его не следует вызывать в коде. Вместо этого можно вызвать метод HttpResponse.Cookies.Set , как показано в следующем примере.
Обновляет существующий файл cookie в коллекции файлов cookie.

ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)
TransmitFile(String, Int64, Int64)

Записывает указанную часть файла непосредственно в выходной поток ответа HTTP без буферизации в памяти.

TransmitFile(String)

Записывает указанный файл непосредственно в поток выходных данных ответа HTTP, не буферизируя его в памяти.

Write(Char)

Записывает символ в выходной поток ответа HTTP.

Write(Char[], Int32, Int32)

Записывает массив символов в поток выходных данных ответа HTTP.

Write(Object)

Записывается Object в поток ответа HTTP.

Write(String)

Записывает строку в поток выходных данных ответа HTTP.

WriteFile(IntPtr, Int64, Int64)

Записывает указанный файл непосредственно в поток выходных данных ответа HTTP.

WriteFile(String, Boolean)

Записывает содержимое указанного файла непосредственно в поток выходных данных ответа HTTP в виде блока памяти.

WriteFile(String, Int64, Int64)

Записывает указанный файл непосредственно в поток выходных данных ответа HTTP.

WriteFile(String)

Записывает содержимое указанного файла непосредственно в выходной поток ответа HTTP в виде блока файлов.

WriteSubstitution(HttpResponseSubstitutionCallback)

Позволяет вставлять блоки подстановки ответа в ответ, что позволяет динамическому поколению указанных областей ответа для выходных кэшированных ответов.

Применяется к