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

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

We describe the various parameters in the following ...

Get Programming ASP.NET 3.5, 4th 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.