I've implemented caching on a file (XML) which gets sent to the graphs controls to render it. However, I was told to implement caching in a way that can be easily switched on and off (meaning setting a value in web.config).
Is there a way I can turn caching on and off depending on a value in a web.config file? Thank you lots!
@oded the code you supplied doesn't fit in my scenario because I'd have to rewrite existing code for instance:
if(bool.parse(confi.... == "true"){
if(Cache[x] == null){
load the XML document and insert it into the Cache object }
else{
get the xml document from the Cache object. } }
else repeat myself by reloading the document from object.
I'm sure there's got to be a better solution to this.
Just check for a value of a key in the
config
file.In
appSettings
section:And in your code check this:
Note: this will throw an exception if the key does not exist in the app settings.
Note2: You should abstract away the dependency on configuration, so you can test your code without needed a config file.
You could add an caching aspect to your business layer.
But that depends on how you implemented your business logic? Do you have a separate business layer and some kind of dependency injection (like Ninject) in place?
There is a documented way of creating caching profiles here - when your web.config contains the cache profiles you need, then make your pages use the profile by supplying the cacheprofile name to the @outputcache directive in the relevant pages.