内存缓存GetData返回Null

时间:2017-10-06 04:45:36

标签: c# caching asp.net-web-api memorycache

我正在使用WebAPI内存缓存来缓存我的列表。 我的列表对象的结构如下:

[Serializable]
public class Entity
{
    public Guid Id {get;set;}
    public string Desc {get;set;}
    public IEnumerable<Entity> ChildEntites {get;set;}
}

var entities = new List<Entity>
{
    new Entity
    {
        Id = new Guid("644e1dd7-2a7f-18fb-b8ed-ed78c3f92c2b"),
        Desc = "desc",
        ChildEntities = new List<Entity>
        {
            Id = new Guid("644e1dd7-2a7f-18fb-b78d-ed78c3f92c2b"),
            Desc = "desc2",
            ChildEntities = null
        }
    }
}

我在做

cache.SetData<IEnumerable<Entity>>("key", entities);

cache.GetData<IEnumerable<Entity>>("key");

但GetData始终返回null。

最初我认为可能是导致问题的Guids但是我试图缓存一个Guid并且它被缓存了。

任何人都可以告诉我为什么会这样吗?

可能是因为我的子模型是同一类型的吗?

0 个答案:

没有答案