我想将使用EntLib的解决方案转换为使用AppFabric缓存。通过一些扩展方法的帮助,这是一个相当无痛的过程。ASP.Net AppFabric Cache缺少Flush/Clear和Count/GetCount方法?
扩展方法我用:
public static bool Contains(this DataCache dataCache, string key)
{
return dataCache.Get(key) != null;
}
public static object GetData(this DataCache dataCache, string key)
{
return dataCache.Get(key);
}
但也有EntLib的两个特点,我觉得很难转换。即“计数”(计算缓存中的密钥数量)和“刷新”(从缓存中移除所有数据)。如果我可以迭代缓存中的密钥,两者都可以解决。
有一种叫做ClearRegion(string region)
的方法,但是这需要我在所有使用的Get/Put/Add方法上指定一个区域名称,这需要一些手动容易出错的工作。
有没有什么办法可以获得缓存中的密钥列表?
是否有我可以使用的默认区域名称?
我没有使用区域名称时如何刷新缓存?
该代码允许我用上面的.Contains()方法替换“.Count == 0”。 – 2011-01-14 14:45:31