This topic has not yet been rated - Rate this topic

HttpResponse Class

Encapsulates HTTP-response information from an ASP.NET operation.

System.Object
  System.Web.HttpResponse

Namespace:  System.Web
Assembly:  System.Web (in System.Web.dll)
public sealed class HttpResponse

The HttpResponse type exposes the following members.

  Name Description
Public method HttpResponse Infrastructure. Initializes a new instance of the HttpResponse class.
Top
  Name Description
Public property Buffer Gets or sets a value indicating whether to buffer output and send it after the complete response is finished processing.
Public property BufferOutput Gets or sets a value indicating whether to buffer output and send it after the complete page is finished processing.
Public property Cache Gets the caching policy (such as expiration time, privacy settings, and vary clauses) of a Web page.
Public property CacheControl Gets or sets the Cache-Control HTTP header that matches one of the HttpCacheability enumeration values.
Public property Charset Gets or sets the HTTP character set of the output stream.
Public property ContentEncoding Gets or sets the HTTP character set of the output stream.
Public property ContentType Gets or sets the HTTP MIME type of the output stream.
Public property Cookies Gets the response cookie collection.
Public property Expires Gets or sets the number of minutes before a page cached on a browser expires. If the user returns to the same page before it expires, the cached version is displayed. Expires is provided for compatibility with earlier versions of ASP.
Public property ExpiresAbsolute Gets or sets the absolute date and time at which to remove cached information from the cache. ExpiresAbsolute is provided for compatibility with earlier versions of ASP.
Public property Filter Gets or sets a wrapping filter object that is used to modify the HTTP entity body before transmission.
Public property HeaderEncoding Gets or sets an Encoding object that represents the encoding for the current header output stream.
Public property Headers Gets the collection of response headers.
Public property IsClientConnected Gets a value indicating whether the client is still connected to the server.
Public property IsRequestBeingRedirected Gets a Boolean value indicating whether the client is being transferred to a new location.
Public property Output Enables output of text to the outgoing HTTP response stream.
Public property OutputStream Enables binary output to the outgoing HTTP content body.
Public property RedirectLocation Gets or sets the value of the Http Location header.
Public property Status Sets the Status line that is returned to the client.
Public property StatusCode Gets or sets the HTTP status code of the output returned to the client.
Public property StatusDescription Gets or sets the HTTP status string of the output returned to the client.
Public property SubStatusCode Gets or sets a value qualifying the status code of the response.
Public property SuppressContent Gets or sets a value indicating whether to send HTTP content to the client.
Public property TrySkipIisCustomErrors Gets or sets a value that specifies whether IIS 7.0 custom errors are disabled.
Top
  Name Description
Public method AddCacheDependency Associates a set of cache dependencies with the response to facilitate invalidation of the response if it is stored in the output cache and the specified dependencies change.
Public method AddCacheItemDependencies(ArrayList) Makes the validity of a cached response dependent on other items in the cache.
Public method AddCacheItemDependencies(String[]) Makes the validity of a cached item dependent on another item in the cache.
Public method AddCacheItemDependency Makes the validity of a cached response dependent on another item in the cache.
Public method AddFileDependencies(ArrayList) Adds a group of file names to the collection of file names on which the current response is dependent.
Public method AddFileDependencies(String[]) Adds an array of file names to the collection of file names on which the current response is dependent.
Public method AddFileDependency Adds a single file name to the collection of file names on which the current response is dependent.
Public method AddHeader Adds an HTTP header to the output stream. AddHeader is provided for compatibility with earlier versions of ASP.
Public method AppendCookie Infrastructure. Adds an HTTP cookie to the intrinsic cookie collection.
Public method AppendHeader Adds an HTTP header to the output stream.
Public method AppendToLog Adds custom log information to the Internet Information Services (IIS) log file.
Public method ApplyAppPathModifier Adds a session ID to the virtual path if the session is using Cookieless session state and returns the combined path. If Cookieless session state is not used, ApplyAppPathModifier returns the original virtual path.
Public method BinaryWrite Writes a string of binary characters to the HTTP output stream.
Public method Clear Clears all content output from the buffer stream.
Public method ClearContent Clears all content output from the buffer stream.
Public method ClearHeaders Clears all headers from the buffer stream.
Public method Close Closes the socket connection to a client.
Public method DisableKernelCache Disables kernel caching for the current response.
Public method End Sends all currently buffered output to the client, stops execution of the page, and raises the EndRequest event.
Public method Equals(Object) Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
Protected method Finalize Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method Flush Sends all currently buffered output to the client.
Public method GetHashCode Serves as a hash function for a particular type. (Inherited from Object.)
Public method GetType Gets the Type of the current instance. (Inherited from Object.)
Protected method MemberwiseClone Creates a shallow copy of the current Object. (Inherited from Object.)
Public method Pics Appends a HTTP PICS-Label header to the output stream.
Public method Redirect(String) Redirects a request to a new URL and specifies the new URL.
Public method Redirect(String, Boolean) Redirects a client to a new URL. Specifies the new URL and whether execution of the current page should terminate.
Public method RedirectPermanent(String) Performs a permanent redirection from the requested URL to the specified URL.
Public method RedirectPermanent(String, Boolean) Performs a permanent redirection from the requested URL to the specified URL, and provides the option to complete the response.
Public method RedirectToRoute(Object) Redirects a request to a new URL by using route parameter values.
Public method RedirectToRoute(RouteValueDictionary) Redirects a request to a new URL by using route parameter values.
Public method RedirectToRoute(String) Redirects a request to a new URL by using a route name.
Public method RedirectToRoute(String, Object) Redirects a request to a new URL by using route parameter values and a route name.
Public method RedirectToRoute(String, RouteValueDictionary) Redirects a request to a new URL by using route parameter values and a route name.
Public method RedirectToRoutePermanent(Object) Performs a permanent redirection from a requested URL to a new URL by using route parameter values.
Public method RedirectToRoutePermanent(RouteValueDictionary) Performs a permanent redirection from a requested URL to a new URL by using route parameter values.
Public method RedirectToRoutePermanent(String) Performs a permanent redirection from a requested URL to a new URL by using a route name.
Public method RedirectToRoutePermanent(String, Object) Performs a permanent redirection from a requested URL to a new URL by using the route parameter values and the name of the route that correspond to the new URL.
Public method RedirectToRoutePermanent(String, RouteValueDictionary) Performs a permanent redirection from a requested URL to a new URL by using route parameter values and a route name.
Public method Static member RemoveOutputCacheItem(String) Removes from the cache all cached items that are associated with the default output-cache provider. This method is static.
Public method Static member RemoveOutputCacheItem(String, String) Uses the specified output-cache provider to remove all output-cache items that are associated with the specified path.
Public method SetCookie Infrastructure. Updates an existing cookie in the cookie collection.
Public method ToString Returns a string that represents the current object. (Inherited from Object.)
Public method TransmitFile(String) Writes the specified file directly to an HTTP response output stream, without buffering it in memory.
Public method TransmitFile(String, Int64, Int64) Writes the specified part of a file directly to an HTTP response output stream without buffering it in memory.
Public method Write(Char) Writes a character to an HTTP response output stream.
Public method Write(Object) Writes an Object to an HTTP response stream.
Public method Write(String) Writes a string to an HTTP response output stream.
Public method Write(Char[], Int32, Int32) Writes an array of characters to an HTTP response output stream.
Public method WriteFile(String) Writes the contents of the specified file directly to an HTTP response output stream as a file block.
Public method WriteFile(String, Boolean) Writes the contents of the specified file directly to an HTTP response output stream as a memory block.
Public method WriteFile(IntPtr, Int64, Int64) Writes the specified file directly to an HTTP response output stream.
Public method WriteFile(String, Int64, Int64) Writes the specified file directly to an HTTP response output stream.
Public method WriteSubstitution Allows insertion of response substitution blocks into the response, which allows dynamic generation of specified response regions for output cached responses.
Top

The methods and properties of the HttpResponse class are exposed through the Response property of the HttpApplication, HttpContext, Page, and UserControl classes.

The following methods of the HttpResponse class are supported only in postback scenarios and not in asynchronous postback scenarios:

Partial-page updates are enabled when you use UpdatePanel controls to update selected regions of a page instead of updating the whole page with a postback. For more information, see UpdatePanel Control Overview and Partial-Page Rendering Overview.

The following example draws three overlapping rectangles when the page is requested. The code begins by setting the ContentType property to image/jpeg, so that the entire page will be rendered as a JPEG image. The code then calls the Clear method to ensure that no extraneous content is sent with this response. Next, the code sets the BufferOutput property to true so that the page is completely processed before it is sent to the requesting client. Two objects used to draw the rectangles are then created: a Bitmap and a Graphics object. The variables created in the page are used as coordinates to draw the rectangles and a string that appears inside the largest rectangle.

When the three rectangles and the string that appears inside them are drawn, the Bitmap is saved to the Stream object that is associated with the OutputStream property and its format is set to JPEG. The code calls the Dispose and Dispose methods to release the resources used by the two drawing objects. Lastly, the code calls the Flush method to send the buffered response to the requesting client.

Note Note

In code, the HttpResponse object is referred to by the keyword Response. For example, Response.Clear() refers to the HttpResponse.Clear method. The Page class has a property that is named Response that exposes the current instance of 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)
    {
        // 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;

        // 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);

        // 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();
    }

</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>


.NET Framework

Supported in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Did you find this helpful?
(1500 characters remaining)
Community Content Add
Annotations FAQ
Get the HTTP Response Body
How can we get the Http Response Body from a stream?

Stream ResponseStream = App.Response.OutputStream;