HttpCachePolicy.SetMaxAge Method (System.Web)

Switch View :
ScriptFree
.NET Framework Class Library
HttpCachePolicy.SetMaxAge Method

Sets the Cache-Control: max-age HTTP header based on the specified time span.

Namespace:  System.Web
Assembly:  System.Web (in System.Web.dll)
Syntax

Visual Basic
Public Sub SetMaxAge ( _
	delta As TimeSpan _
)
C#
public void SetMaxAge(
	TimeSpan delta
)
Visual C++
public:
void SetMaxAge(
	TimeSpan delta
)
F#
member SetMaxAge : 
        delta:TimeSpan -> unit 

Parameters

delta
Type: System.TimeSpan
The time span used to set the Cache - Control: max-age header.
Exceptions

Exception Condition
ArgumentOutOfRangeException

delta is less than 0 or greater than one year.

Remarks

Max-age is the maximum absolute time a document is allowed to exist before being considered stale.

The SetMaxAge method does not use sliding expiration and will fail if the expiration date violates the principle of restrictiveness.

SetMaxAge is introduced in the .NET Framework version 3.5. For more information, see .NET Framework Versions and Dependencies.

Note Note

If the SetMaxAge method is called repeatedly, on the second and subsequent calls, the value of the maximum age can only be decreased.

Examples

The following code example demonstrates how to set the Cache-Control: max-age header to 0 hours, 30 minutes, and 0 seconds.

Visual Basic

Dim ts As New TimeSpan(0,30,0)
 Response.Cache.SetMaxAge(ts)
 


C#

TimeSpan ts = new TimeSpan(0,30,0);
 Response.Cache.SetMaxAge(ts);
 


Version Information

.NET Framework

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

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.
See Also

Reference

Community Content

davcamer
Principle of restrictiveness?
What is the principle of restrictiveness referred to in the text? A search for it mostly turns up MSDN pages, but none of them explain or reference the principle.

Shawn Cicoria
To affect Cache-control and SetMaxAge you must also SetSlidingExpiration

If you want to set Cache-control: public, max-age you must also call SetSlidingExpiration(true)

 context.Response.Cache.SetCacheability(HttpCacheability.Public);
context.Response.Cache.SetMaxAge(TimeSpan.FromMinutes(5));
context.Response.ContentType = "image/jpeg";
context.Response.Cache.SetSlidingExpiration(true);