Now, on any pages you want to be cached like this, you can just add the output cache directive like so:

<%

@OutputCacheCacheProfile="StandardPages" %>

Of course, you can add other profiles for pages that, say, vary by parameters, controls, and the like, but this makes it easy to control the caching of all of a kind of a page via the web.config and also shows how you might set up a profile that varies by browser and culture. And with an implementation of GetVaryByCustom like this, you can add your own variances and mix and match them in your profiles as desired. It makes for a pretty flexible caching system. For instance, you could add a check for authentication and, if authenticated, effectively turn off caching by appending a user ID or name and the current date and time (DateTime.Now.ToString()). That way pages would be cached for anonymous visitors but for authenticated users, where the content is more dynamic, you might not want to cache.