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 передачи.
- BinaryWrite
- Clear
- ClearContent
- ClearHeaders
- Close
- End
- Flush
- TransmitFile
- Write
- WriteFile
- WriteSubstitution
Обновления частичной страницы включены при использовании UpdatePanel элементов управления для обновления выбранных регионов страницы вместо обновления всей страницы с обратной записью. Дополнительные сведения см. в разделе "Обзор элемента управления UpdatePanel" и обзорPartial-Page отрисовки.
Конструкторы
| Имя | Описание |
|---|---|
| HttpResponse(TextWriter) |
Инициализирует новый экземпляр класса HttpResponse. |
Свойства
| Имя | Описание |
|---|---|
| Buffer |
Возвращает или задает значение, указывающее, следует ли буферировать выходные данные и отправлять его после завершения обработки ответа. |
| BufferOutput |
Возвращает или задает значение, указывающее, следует ли буферировать выходные данные и отправлять его после завершения обработки страницы. |
| Cache |
Возвращает политику кэширования (например, срок действия, параметры конфиденциальности и различные предложения) веб-страницы. |
| CacheControl |
Возвращает или задает |
| 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 |
| Status |
|
| StatusCode |
Возвращает или задает код состояния HTTP выходных данных, возвращенных клиенту. |
| StatusDescription |
Возвращает или задает строку состояния HTTP выходных данных, возвращенных клиенту. |
| SubStatusCode |
Возвращает или задает значение, определяющее код состояния ответа. |
| SupportsAsyncFlush |
Возвращает значение, указывающее, поддерживает ли подключение асинхронные операции очистки. |
| SuppressContent |
Возвращает или задает значение, указывающее, следует ли отправлять http-содержимое клиенту. |
| SuppressDefaultCacheControlHeader |
Возвращает или задает значение, указывающее, следует ли подавлять заголовок по умолчанию |
| 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 |
| 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 , как показано в следующем примере. |
| 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) |
Позволяет вставлять блоки подстановки ответа в ответ, что позволяет динамическому поколению указанных областей ответа для выходных кэшированных ответов. |