Using ASP.Net MVC 3 I have a Controller which output is being cached using attributes [OutputCache]
[OutputCache]
public controllerA(){}
I would like to know if it is possible to invalidate the Cache Data (SERVER CACHE) for a Specific Controller or generally all the Cache data by calling another controller
public controllerB(){} // Calling this invalidates the cache
You could use the
RemoveOutputCacheItem
method.Here's an example of how you could use it:
The Index action response is cached on the server for 1 minute. If you hit the
InvalidateCacheForIndexAction
action it will expire the cache for the Index action. Currently there's no way to invalidate the entire cache, you should do it per cached action (not controller) because theRemoveOutputCacheItem
method expects the url of the server side script that it cached.You can do that by using a custom attribute, like so:
Then on your
controllerb
you can do: