6

我需要检查 MemoryCache 中是否存在密钥。但是,没有可用的 Keys 集合或类似的东西。

如果存在某个键,我不需要与键关联的对象仅是真或假。

我知道我可以尝试 .Get(key) 但我不需要该对象。这是唯一的方法吗?

4

2 回答 2

10

使用bool Contains(string key, string regionName)方法。

MSDN

确定缓存中是否存在缓存条目。返回值 类型:System.Boolean 如果缓存包含其键与键匹配的缓存条目,则为 true;否则为 true。否则为假。
MemoryCache.Contains 方法(字符串,字符串)MSDN

于 2013-07-25T11:34:37.427 回答
0

您应该检查缓存是否为 Null 并发布检查密钥是否存在(通过使用 .Contains 方法)。

if (myCache != null && myCache.Contains("keyName") && myCache.Get("keyName") != null)
{
    myDS = (DataSet)myCache.Get("keyName");
}
于 2016-06-02T13:01:41.860 回答