O'Reilly logo

Programming ASP.NET, 3rd Edition 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 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. To cache only a portion of a page, the caching is applied to a user control contained within the page. This will be described later in this section.

The OutputCache Directive

The OutputCache 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 directive looks something like the following:

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

The full syntax is:

    <%@ OutputCache
       Duration="number of seconds"
       VaryByParam="parameter list"
       CacheProfile=""
       DiskCacheable=""
       Locaton="Any | Client | Downstream | Server | None"
       NoStore=""
       SqlDependency="database:table"
       VaryByControl="control list"
       VaryByCustom="custom output"
       VaryByHeader="header list" %>

Only the first two parameters, Duration and VaryByParam, are required, though the VaryByParam attribute will not be required for user controls if there is a VaryByControl attribute.

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

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