0

我正在编写代码以从非 Azure AppFabric (v1.1) 中删除缓存条目。在下面的代码片段中,DataCache.Remove 总是返回 false...

object bogusData = new object();

_cache.Put(account, bogusData, TimeSpan.FromSeconds(10.0));
Sleep(1000); // for testing purposes

// we don't need the contents of the cache entry, we just want to know
// if the account is in the cache or not...
object cachedData = _cache.Get(account);

// if we don't find it in the cache, it is already been removed (or expired), so return true.
if (cachedData == null)
    return true;

Sleep(1000); // for testing purposes

// this always returns false
bool status = _cache.Remove(account);

按照设计,在上面的代码片段中,cachedData 始终为 != null。

有任何想法吗?

4

1 回答 1

0

哇!

我想通了,调用 DataCache.Remove(key) 将尝试从默认区域中删除该项目。虽然上面没有清楚地显示(_cache 是 DataCache 的瘦包装器),但我们的 Put/Get 调用包含一个区域名称,但我们的 Remove 没有。我添加了区域并且删除工作正常。

于 2013-07-11T17:14:48.927 回答