ASP.NET output caching - dynamically update dependencies

Posted by ColinE on Stack Overflow See other posts from Stack Overflow or by ColinE
Published on 2010-01-13T15:42:00Z Indexed on 2010/05/15 1:04 UTC
Read the original article Hit count: 311

Filed under:
|

Hi All,

I have an ASP.NET application which requires output caching. I need to invalidate the cached items when the data returned from a web service changes, so a simple duration is not good enough.

I have been doing a bit of reading about cache dependencies and think I have the right idea. It looks like I will need to create a cache dependency to my web service.

To associate the page output with this dependency I think I should use the following method:

Response.AddCacheItemDependency(cacheKey);

The thing I am struggling with is what I should add to the cache?

The dependency my page has is to a single value returned by the web service. My current thinking is that I should create a Custom Cache Dependency via subclassing CacheDependency, and store the current value in the cache. I can then use Response.AddCacheItemDependency to form the dependency.

I can then periodically check the value and for a NotifyDependencyChange in order to invalidate my cached HTTP response.

The problem is, I need to ensure that the cache is flushed immediately, so a periodic check is not good enough. How can I ensure that my dependant object in the cache which represents the value returned by the web service is re-evaluated before the HTTP response is fetched from the cache?

Regards, Colin E.

© Stack Overflow or respective owner

Related posts about outputcache

Related posts about ASP.NET