I've got a class that needs to store data in a cache. Originally I used it in an asp.net application so I used System.Web.Caching.Cache.
Now I need to use it in a Windows Service. Now, as I understand it, I should not use the asp.net cache in a not asp.net application, so I was looking into MemoryCache.
The problem is that they are not compatible, so either I change to use MemoryCache in the asp.net application, or I will need to create an adapter so ensure that the two cache implementations have the same interface (maybe derive from ObjectCache and use the asp.net cache internally?)
What are the implications of using MemoryCache in an asp.net?
Nadav
I would go with your second option and refactor things a little bit. I would create an Interface and two Providers (which are your adapters):
This morning I came across a library that could help with this situation. It's a CacheAdapter that allows you to code against a common interface and swap out the caching mechanism (System.Web.Caching, System.Runtime.Cache, or AppFabric) via configuration.
https://bitbucket.org/glav/cacheadapter