首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >dotnet System.Web.Caching.Cache vs System.Runtime.Caching.MemoryCache

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

Stack Overflow用户
提问于 2010-10-07 22:33:52
回答 2查看 5.5K关注 0票数 18

我有一个需要在缓存中存储数据的类。最初,我在asp.net应用程序中使用它,所以我使用System.Web.Caching.Cache。

现在我需要在Windows服务中使用它。现在,据我所知,我不应该在非asp.net应用程序中使用asp.net缓存,所以我正在研究MemoryCache。

问题是它们不兼容,所以要么我在asp.net应用程序中改为使用MemoryCache,要么我需要创建一个适配器,以确保两个缓存实现具有相同的接口(可能是从ObjectCache派生的,并在内部使用asp.net缓存?)

在asp.net中使用MemoryCache的含义是什么?

纳达夫

EN

回答 2

Stack Overflow用户

发布于 2010-10-07 22:41:09

我会采用你的第二种选择,并稍微重构一下。我将创建一个接口和两个提供程序(它们是您的适配器):

代码语言:javascript
复制
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
}
票数 8
EN

Stack Overflow用户

发布于 2011-06-01 22:58:42

今天早上,我偶然发现了一个库,它可以帮助解决这种情况。它是一个CacheAdapter,它允许您针对一个公共接口编写代码,并通过配置换出缓存机制(System.Web.Caching、System.Runtime.Cache或AppFabric)。

https://bitbucket.org/glav/cacheadapter

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3882733

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档