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

Get Programming ASP.NET, 3rd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.