HttpCachePolicy.SetAllowResponseInBrowserHistory(Boolean) Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Makes the response is available in the client browser History cache, regardless of the HttpCacheability setting made on the server, when the allow
parameter is true
.
public:
void SetAllowResponseInBrowserHistory(bool allow);
public void SetAllowResponseInBrowserHistory (bool allow);
member this.SetAllowResponseInBrowserHistory : bool -> unit
Public Sub SetAllowResponseInBrowserHistory (allow As Boolean)
Parameters
- allow
- Boolean
true
to direct the client browser to store responses in the History folder; otherwise false
. The default is false
.
Examples
The following code example demonstrates how to override the SetAllowResponseInBrowserHistory method to direct the client to store the responses in its history in a custom HttpCachePolicy.
<%@ Page language="c#" AutoEventWireup="true" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>HttpCachePolicy - SetAllowResponseInBrowserHistory - C# Example</title>
<script runat="server">
void Page_Load(Object sender, EventArgs e)
{
// When HttpCacheability is set to NoCache or ServerAndNoCache
// the Expires HTTP header is set to -1 by default. This instructs
// the client to not cache responses in the History folder. Thus,
// each time you use the back/forward buttons, the client requests
// a new version of the response.
HttpContext.Current.Response.Cache.SetCacheability(HttpCacheability.ServerAndNoCache);
// Override the ServerAndNoCache behavior by setting the SetAllowInBrowserHistory
// method to true. This directs the client browser to store responses in
// its History folder.
HttpContext.Current.Response.Cache.SetAllowResponseInBrowserHistory(true);
// Display the DateTime value.
Label1.Text = DateTime.Now.ToLongTimeString();
}
</script>
</head>
<body>
<form id="Form1" method="post" runat="server">
<h3>HttpCachePolicy - SetAllowResponseInBrowserHistory - C# Example</h3>
<p>Click the Submit button a few times, and then click the Browser's Back button.<br />
The page should be stored in the Browser's History folder</p>
<p>Time: <asp:Label id="Label1" runat="server" Font-Bold="True" ForeColor="Red" /></p>
<asp:Button id="Button1" runat="server" Text="Submit" />
</form>
</body>
</html>
<%@ Page language="VB" AutoEventWireup="true" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>HttpCachePolicy - SetAllowResponseInBrowserHistory - Visual Basic .NET Example</title>
<script runat="server">
Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
' When HttpCacheability is set to NoCache or ServerAndNoCache
' the Expires HTTP header is set to -1 by default. This instructs
' the client to not cache responses in the History folder. Thus,
' each time you use the back/forward buttons, the client requests
' a new version of the response.
HttpContext.Current.Response.Cache.SetCacheability(HttpCacheability.ServerAndNoCache)
' Override the ServerAndNoCache behavior by setting the SetAllowInBrowserHistory
' method to true. This directs the client browser to store responses in
' its History folder.
HttpContext.Current.Response.Cache.SetAllowResponseInBrowserHistory(True)
' Display the DateTime value.
Label1.Text = DateTime.Now.ToLongTimeString()
End Sub
</script>
</head>
<body>
<form id="Form1" method="post" runat="server">
<h3>HttpCachePolicy - SetAllowResponseInBrowserHistory - Visual Basic .NET</h3>
<p>Click the Submit button a few times, and then click the Browser's Back button.<br />
The page should be stored in the Browser's History folder</p>
<p>Time: <asp:Label id="Label1" runat="server" Font-Bold="True" ForeColor="Red" /></p>
<asp:Button id="Button1" runat="server" Text="Submit" />
</form>
</body>
</html>
Remarks
When HttpCacheability is set to NoCache or ServerAndNoCache the Expires
HTTP header is by default set to -1; this tells the client not to cache responses in the History folder, so that when you use the back/forward buttons the client requests a new version of the response each time. You can override this behavior by calling the SetAllowResponseInBrowserHistory method with the allow
parameter set to true
.
If HttpCacheability is set to values other than NoCache or ServerAndNoCache, calling the SetAllowResponseInBrowserHistory method with either value for allow
has no effect.
SetAllowResponseInBrowserHistory is introduced in the .NET Framework version 3.5. For more information, see Versions and Dependencies.