Is there a way to prevent a page from being cached based on some logic?
I want to cache anonymous access to a page, so I can set VaryByCustom="user" and have some magic in Global.asax’s GetVaryByCustomString method. Ok. But I don’t actually want to cache the page if the user’s authenticated, only if it’s not authenticated. Is there a way to specify this kind of thing?
The reason I want the data to not be added to the cache to begin with (instead of added with some random key) is that as the cache grows things get thrown out and I don’t want the non-authenticated version to get thrown out.
You can carry this out programmatically in your page load in asp.net web forms.
If you want this logic in a seperate method somewhere you can register a callback like so.
In MVC you should be able to execute the above code in your controller