在设置一致后,ObjectCache不会立即包含项目

时间:2011-08-26 18:13:26

标签: c# objectcache

清一色 我试图使用新的ObjectCache对象创建服务器端缓存。无论出于何种原因,以下是抛出异常......

_cache.Set(CacheKey.LOCATIONS, cachedLocations, DateTimeOffset.Now.AddHours(2));
                    if (!_cache.Contains(CacheKey.LOCATIONS))
                        throw new Exception("Did not add location to the cache.");

_cache在服务层上以下列方式实例化...

private ObjectCache _cache = MemoryCache.Default;

每次设置缓存时都会发生此异常,第一次除外。代码中显示的例外是“未向缓存添加位置。”

---编辑说明。 ObjectCache是​​静态的,但由于MemoryCache.Default是静态的,因此不需要它是静态的。

1 个答案:

答案 0 :(得分:1)

您应该使用Add()方法在缓存中创建新条目。 Set()方法涉及密钥已存在。