For a web-site, I want to cache the pages ONLY for users who are not authenticated – authenticated users do not get cached content (since they will be updating and need to see results right away).
I know how to vary the cache for each user using VaryByCustom:
Link1
Link2
…But I can’t figure out how to turn off caching entirely for authenticated users.
What to do?
Edit
The code below has a problem if there is already a cached version of the page from an unauthenticated user. Basically the authenticated user will be served the unauthenticated view of things.
However, this link here has solution that works: Link
Use HttpCachePolicy.AddValidationCallback.
See: http://msdn.microsoft.com/en-us/library/system.web.httpcachepolicy.addvalidationcallback.aspx