当设置为类属性时,无法从MemoryCache获取默认方法

时间:2016-03-04 09:37:45

标签: c# asp.net asp.net-mvc memorycache

我试图避免这种情况:

 private ObjectCache cache = MemoryCache.Default

通过创建一个类:

public static class MemoryDefault
{
    public static MemoryCache Memory { get; set; }
}

调用MemoryDe​​fault.Memory.Default时 它不存在,为什么?

1 个答案:

答案 0 :(得分:1)

您的商家public static MemoryCache Memory { get; set; }未在任何地方初始化 - 因此它始终为null ..

应该是:

public static class MemoryDefault
{
    static MemoryDefault()
    {
         Memory = MemoryCache.Default;
    }

    public static MemoryCache Memory { get; private set; }
    //private set for preventing user to change that value
}

其他方法:

public static class MemoryDefault
{
    public static MemoryCache Memory { get { return MemoryCache.Default; } }
}