.net MemoryCache保存到文件

.net MemoryCache保存到文件,.net,c#-4.0,memorycache,.net,C# 4.0,Memorycache,我正在使用MemoryCache在我的MVC web应用程序中缓存值。是否可以将MemoryCache集合值保存到文件中,然后加载它们?认为理论上是可能的,使用反射将所有数据复制到某个简单的json对象,然后将其序列化为字符串并存储在磁盘上。当需要检索对象时,您需要再次借助反射从json构建新的MemoryCache实例 可能它还包括一些二进制序列化的变体,或者将对象强制转换为字节流,然后保存。您可以 这是一个样本 public static class Cashing {

我正在使用MemoryCache在我的MVC web应用程序中缓存值。是否可以将MemoryCache集合值保存到文件中,然后加载它们?

认为理论上是可能的,使用反射将所有数据复制到某个简单的json对象,然后将其序列化为字符串并存储在磁盘上。当需要检索对象时,您需要再次借助反射从json构建新的MemoryCache实例

可能它还包括一些二进制序列化的变体,或者将对象强制转换为字节流,然后保存。

您可以

这是一个样本

public static class Cashing
    {
        public static void SetData<T>(string CacheKey, T data)
        {
            ObjectCache cache = MemoryCache.Default;
            if (cache.Contains(CacheKey))
                cache.Remove(CacheKey);
            CacheItemPolicy cacheItemPolicy = new CacheItemPolicy();
            cacheItemPolicy.AbsoluteExpiration = DateTime.Now.AddHours(1.0);
            cache.Add(CacheKey, data, cacheItemPolicy);
        }

        public static object GetData<T>(string CacheKey)
        {
            ObjectCache cache = MemoryCache.Default;
            if (cache.Contains(CacheKey))
                return cache.Get(CacheKey);
            return default(T);
        }
    }