HttpResponse Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Инкапсулирует данные ответа HTTP, полученные при выполнении операции ASP.NET.
public ref class HttpResponse sealed
public sealed class HttpResponse
type HttpResponse = class
Public NotInheritable Class HttpResponse
- Наследование
-
HttpResponse
Примеры
В следующем примере рисуются три перекрывающихся прямоугольника при запросе страницы. Код начинается с присвоения свойству ContentType значения image/jpeg, чтобы вся страница отображалась как изображение в формате JPEG. Затем код вызывает Clear метод , чтобы убедиться, что с этим ответом не отправляется постороннее содержимое. Затем код задает BufferOutput для свойства значение true, чтобы страница была полностью обработана перед отправкой запрашивающего клиента. Затем создаются два объекта, используемых для рисования прямоугольников: и BitmapGraphics объект . Переменные, созданные на странице, используются в качестве координат для рисования прямоугольников и строки, которая отображается внутри самого большого прямоугольника.
При рисовании трех прямоугольников и строки, которая отображается внутри них, объект сохраняется в Stream объекте, Bitmap связанном со свойством OutputStream , и для его формата устанавливается значение 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классов , HttpContext, Pageи UserControl .
Следующие методы класса поддерживаются только в сценариях обратной HttpResponse передачи, но не в асинхронных сценариях обратной передачи.
- BinaryWrite
- Clear
- ClearContent
- ClearHeaders
- Close
- End
- Flush
- TransmitFile
- Write
- WriteFile
- WriteSubstitution
Частичные обновления страницы включаются при использовании UpdatePanel элементов управления для обновления выбранных областей страницы вместо обновления всей страницы с обратной записью. Дополнительные сведения см. в разделах Обзор элемента управления UpdatePanel и Обзор частичной отрисовки страницы.
Конструкторы
HttpResponse(TextWriter) |
Инициализирует новый экземпляр класса HttpResponse. |
Свойства
Buffer |
Получает или задает значение, указывающее, следует ли помещать выходные данные в буфер для отправки с последующей отправкой после завершения обработки ответа. |
BufferOutput |
Получает или задает значение, указывающее, следует ли помещать выходные данные в буфер для отправки с последующей отправкой после завершения обработки страницы. |
Cache |
Получает политику кэширования веб-страницы (например, срок действия, параметры конфиденциальности и изменяемые предложения). |
CacheControl |
Получает или задает заголовок HTTP |
Charset |
Получает или задает кодировку НТТР для потока вывода. |
ClientDisconnectedToken |
Получает объект CancellationToken, задействуемый при отключении клиента. |
ContentEncoding |
Получает или задает кодировку НТТР для потока вывода. |
ContentType |
Получает или задает тип формата MIME НТТР потока вывода. |
Cookies |
Получает коллекцию файлов сookie ответов. |
Expires |
Получает или задает число минут перед тем, как истечет срок действия страницы, сохраненной в кэше браузера. Если пользователь возвращается к той же странице до момента истечения срока действия, будет отображена кэшированная версия. Свойство Expires обеспечивает совместимость с предыдущими версиями ASP. |
ExpiresAbsolute |
Получает или задает абсолютную дату и время удаления кэшированных сведений из кэша. Свойство ExpiresAbsolute обеспечивает совместимость с предыдущими версиями ASP. |
Filter |
Получает или задает объект фильтра обертки, используемый для изменения тела элемента НТТР перед началом передачи. |
HeaderEncoding |
Получает или задает объект Encoding, который представляет кодирование для потока вывода текущего заголовка. |
Headers |
Получает коллекцию заголовков ответа. |
HeadersWritten |
Получает значение, указывающее, были ли записаны заголовки ответа. |
IsClientConnected |
Получает значение, определяющее наличие подключения клиента к серверу. |
IsRequestBeingRedirected |
Получает логическое значение, указывающее изменение расположения клиента. |
Output |
Разрешает выводить текст в исходящем потоке ответа НТТР. |
OutputStream |
Разрешает вывод двоичных данных в теле исходящего содержимого НТТР. |
RedirectLocation |
Возвращает или задает значение HTTP-заголовка |
Status |
Задает строку |
StatusCode |
Получает или задает код состояния НТТР вывода, возвращаемого клиенту. |
StatusDescription |
Получает или задает строку состояния НТТР вывода, возвращаемого клиенту. |
SubStatusCode |
Получает или задает значение, определяющее код состояния ответа. |
SupportsAsyncFlush |
Получает значение, указывающее, поддерживает ли подключение асинхронные операции очистки. |
SuppressContent |
Получает или задает значение, показывающее, следует ли отправить содержимое НТТР клиенту. |
SuppressDefaultCacheControlHeader |
Возвращает или задает значение, указывающее, следует ли подавлять заголовок по умолчанию |
SuppressFormsAuthenticationRedirect |
Получает или задает значение, указывающее, следует ли отключить перенаправление аутентификации с помощью форм на страницу входа. |
TrySkipIisCustomErrors |
Возвращает или задает значение, указывающее, отключены ли пользовательские ошибки IIS 7.0. |
Методы
AddCacheDependency(CacheDependency[]) |
Связывает набор зависимостей кэша с ответом, чтобы упростить переход ответа в недействительное состояние, если он хранится в выходном кэше и указанные зависимости изменяются. |
AddCacheItemDependencies(ArrayList) |
Ставит допустимость кэшированного ответа в зависимость от других элементов кэша. |
AddCacheItemDependencies(String[]) |
Ставит допустимость кэшированного элемента в зависимость от других элементов кэша. |
AddCacheItemDependency(String) |
Ставит допустимость кэшированного ответа в зависимость от другого элемента кэша. |
AddFileDependencies(ArrayList) |
Добавляет группу имен файлов в коллекцию имен файлов, от которой зависит текущий ответ. |
AddFileDependencies(String[]) |
Добавляет массив имен файлов в коллекцию имен файлов, от которой зависит текущий ответ. |
AddFileDependency(String) |
Добавляет имя файла в коллекцию имен файлов, от которой зависит текущий ответ. |
AddHeader(String, String) |
Добавляет заголовок НТТР в поток вывода. Свойство AddHeader(String, String) обеспечивает совместимость с предыдущими версиями ASP. |
AddOnSendingHeaders(Action<HttpContext>) |
Регистрирует обратный вызов, который среда выполнения ASP.NET будет вызывать непосредственно перед отправкой заголовков ответа для этого запроса. |
AppendCookie(HttpCookie) |
Добавляет файл Cookie HTTP во встроенную коллекцию файлов Cookie. |
AppendHeader(String, String) |
Добавляет заголовок НТТР в поток вывода. |
AppendToLog(String) |
Добавляет данные пользовательского журнала в файл журнала IIS. |
ApplyAppPathModifier(String) |
Добавляет идентификатор сеанса в виртуальный путь, если сеанс использует свойство Cookieless для указания собственного состояния, и возвращает объединенный путь. Если задаваемое свойством Cookieless состояние сеанса не используется, то метод ApplyAppPathModifier(String) возвращает исходный виртуальный путь. |
BeginFlush(AsyncCallback, Object) |
Отправляет клиенту отклик, находящийся в данный момент в буфере. |
BinaryWrite(Byte[]) |
Записывает строку двоичных символов в поток вывода НТТР. |
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) |
Добавляет заголовок |
PushPromise(String) |
Предназначен для поддержки приложений, принудительно отправляющих обещания клиентам HTTP 2.0. Дополнительные сведения см. в спецификации HTTP/2, раздел 8.2: отправка с сервера. |
PushPromise(String, String, NameValueCollection) |
Предназначен для поддержки приложений, принудительно отправляющих обещания клиентам HTTP 2.0. Дополнительные сведения см. в спецификации HTTP/2, раздел 8.2: отправка с сервера. |
Redirect(String) |
Перенаправляет запрос по новому адресу и задает новый URL-адрес. |
Redirect(String, Boolean) |
Перенаправляет клиента на новый URL-адрес. Задает новый URL-адрес и условия прекращения выполнения текущей страницы. |
RedirectPermanent(String) |
Выполняет безвозвратное перенаправление с запрошенного URL-адреса на заданный URL-адрес. |
RedirectPermanent(String, Boolean) |
Выполняет безвозвратное перенаправление с запрошенного URL-адреса на заданный URL-адрес и предоставляет возможность завершить ответ. |
RedirectToRoute(Object) |
Перенаправляет запрос на новый URL-адрес, используя значения параметров маршрута. |
RedirectToRoute(RouteValueDictionary) |
Перенаправляет запрос на новый URL-адрес, используя значения параметров маршрута. |
RedirectToRoute(String) |
Перенаправляет запрос на новый URL-адрес, используя имя маршрута. |
RedirectToRoute(String, Object) |
Перенаправляет запрос на новый URL-адрес, используя значения параметров маршрута и имя маршрута. |
RedirectToRoute(String, RouteValueDictionary) |
Перенаправляет запрос на новый URL-адрес, используя значения параметров маршрута и имя маршрута. |
RedirectToRoutePermanent(Object) |
Выполняет постоянное перенаправление запроса с запрошенного URL-адреса на новый URL-адрес, используя значения параметров маршрута. |
RedirectToRoutePermanent(RouteValueDictionary) |
Выполняет постоянное перенаправление запроса с запрошенного URL-адреса на новый URL-адрес, используя значения параметров маршрута. |
RedirectToRoutePermanent(String) |
Выполняет постоянное перенаправление с запрошенного URL-адреса на новый URL-адрес, используя имя маршрута. |
RedirectToRoutePermanent(String, Object) |
Выполняет постоянное перенаправление запроса с запрошенного URL-адреса на новый URL-адрес, используя значения параметров маршрута и имя маршрута, соответствующее новому URL-адресу. |
RedirectToRoutePermanent(String, RouteValueDictionary) |
Выполняет постоянное перенаправление запроса с запрошенного URL-адреса на новый URL-адрес, используя значения параметров маршрута и имя маршрута. |
RemoveOutputCacheItem(String) |
Удаляет из кэша все элементы, связанные с поставщиком кэша вывода по умолчанию. Это статический метод. |
RemoveOutputCacheItem(String, String) |
С помощью указанного поставщика кэша вывода удаляет из кэша вывода все элементы, связанные с указанным путем. |
SetCookie(HttpCookie) |
Так как метод HttpResponse.SetCookie предназначен только для внутреннего использования, его не следует вызывать в коде. Вместо этого можно вызвать метод HttpResponse.Cookies.Set, как показано в приведенном ниже примере. |
ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |
TransmitFile(String) |
Записывает указанный файл непосредственно в выходной поток ответа HTTP, не используя буфер в памяти. |
TransmitFile(String, Int64, Int64) |
Записывает указанную часть файла непосредственно в поток вывода ответа HTTP, не используя буфер в памяти. |
Write(Char) |
Записывает знак в поток вывода ответа НТТР. |
Write(Char[], Int32, Int32) |
Записывает массив символов в поток вывода ответа НТТР. |
Write(Object) |
Записывает объект Object в поток ответа HTTP. |
Write(String) |
Записывает строку в поток вывода ответа НТТР. |
WriteFile(IntPtr, Int64, Int64) |
Записывает указанный файл непосредственно в поток вывода ответа НТТР. |
WriteFile(String) |
Записывает содержимое указанного файла непосредственно в выходной поток ответа HTTP в виде блока файла. |
WriteFile(String, Boolean) |
Записывает содержимое указанного файла непосредственно в выходной поток ответа HTTP в виде блока памяти. |
WriteFile(String, Int64, Int64) |
Записывает указанный файл непосредственно в поток вывода ответа НТТР. |
WriteSubstitution(HttpResponseSubstitutionCallback) |
Позволяет выполнять вставку блоков замены ответа в ответ, что предоставляет возможность для динамического формирования указанных областей ответа для выходных кэшируемых ответов. |