O'Reilly logo

Programming ASP .NET by Dan Hurwitz, Jesse Liberty

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Output Caching

Output caching is the caching of pages or portions of pages that are output to the client. This does not happen automatically -- the developer must enable output caching using either the OutputCache page directive or the HttpCachePolicy class. Both methods will be described.

Output caching can be applied to an entire page or a portion of the page. In order to cache only a portion of a page, the caching is applied to a user control contained within the page. This too will be described later in this section.

The OutputCache Page Directive

The OutputCache page directive, like all page directives, goes at the top of the page file. (For a complete description of page directives, see Chapter 6.) A typical example of an OutputCache page directive looks something like the following:

<%@ OutputCache Duration="60" VaryByParam="*" %>

The full syntax is:

<%@ OutputCache Duration="number of seconds" 
VaryByParam="parameter list" Location="location" 
VaryByControl="control list" VaryByCustom="custom output" VaryByHeader=
    "header list" %>

Only the first two parameters, Duration and VaryByParam, are required

The VaryBy... parameters allow different versions of the cached page to be stored, with each version satisfying the combination of conditions being varied.

The various parameters are described in the following sections.

Duration

The Duration parameter specifies the number of seconds that the page or user control is cached. Items placed in the output cache are only valid for this ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required