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

前端之家收集整理的这篇文章主要介绍了.net – dotnet System.Web.Caching.Cache vs System.Runtime.Caching.MemoryCache前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个类需要将数据存储在缓存中。
最初我在asp.net应用程序中使用它,所以我使用System.Web.Caching.Cache。

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

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

在asp.net中使用MemoryCache有什么意义?

Nadav

解决方法

我会和你的第二个选择一起去重构一些东西。我会创建一个接口和两个提供程序(这是你的适配器):
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
}

猜你在找的HTML相关文章