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. We will describe both methods.
You can apply output caching to an entire page or to a portion of a page. To cache only a portion of a page, you apply the caching to a user control contained within the page. We will describe this later in this chapter.
The OutputCache Directive
OutputCache directive, like all page directives, is placed 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="" Location="Any | Client | Downstream | Server | None" NoStore="" SqlDependency="database:table" VaryByControl="control list" VaryByCustom="custom output" VaryByHeader="header list" %>
Only the first two parameters,
VaryByParam, are required, though the
VaryByParam attribute will not be required for user controls if there is a
VaryBy… parameters allow different versions of the cached page to be stored with each version satisfying the combination of conditions being varied.
We describe the various parameters in the following ...