If you've not already had a chance to read Stephen Walther's article on Improved Caching in ASP.NET 2.0, I'd highly recommend you do so now. I've been looking forward to the billed SQL Cache features added to ASP.NET 2.0, but what really caught my eye was right at the end of the article. Namely post-cache substitution.
I've already been in situations where I'd love to cache the main part of a page, but just want a single user control to be dynamic (i.e. not cached). For examlpe, many sites include a user control to allow members to log-on, and when they do the panel contents change to show user specific information. In some cases you might want to cache the page contents, but what if the user then uses the panel to log-on? You can't use the cached version of the page...
Thankfully ASP.NET 2.0 introduces a new Substitution control. This allows you include dynamic content in a cached page. I'd highly recommend looknig at the example in the article above, or in Caching Improvements in ASP.NET Whidbey by G. Andrew Duthie. You can also read the BETA documentation for the Substitution Class.
[
UPDATE] - Looks like the first article has disappeared! I'll re-link to it when it appears again...