I have a few expensive pages that I cache using ASP.NET output cache like so,
[OutputCache(Duration=3600, VaryByParam = "none")]
Obviously, the cache will expire after 3600 seconds (1 hour), and the next poor guy that happens to load that page will have to wait for the cache to be refreshed from the dabatase.
My question is, how do I make the cache to be refreshed immediately on expiry? So that the next guy who happens to visit the page when the cache had just expired will not have to wait for the cache to be refreshed and instead is served with a new cache?
Update: I need the cache to be updated pretty frequently (1 hour to 3 hour) as I do not want the data to stale for too long either.