dotnet System.Web.Caching.Cache vs System.Runtime.Caching.MemoryCache

前端 未结 2 2100
北荒
北荒 2021-02-07 06:15

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 Windo

相关标签:
2条回答
  • 2021-02-07 06:39

    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):

    public interface ICachingProvider
    {
        void AddItem(string key, object value);
        object GetItem(string key);
    }
    
    public AspNetCacheProvider : ICachingProvider
    {
        // Adapt System.web.Caching.Cache to match Interface
    }
    
    public MemoryCacheProvider : ICachingProvider
    {
        // Adapt System.Runtime.Caching.MemoryCache to match Interface
    }
    
    0 讨论(0)
  • 2021-02-07 06:51

    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

    0 讨论(0)
提交回复
热议问题