.net ObjectCache.AddOrGetExisting-此方法用于什么?它完全没用吗?
首先,我知道该做什么(System.Runtime.Caching命名空间)。我的问题是它为什么存在 这里是该方法的声明:.net ObjectCache.AddOrGetExisting-此方法用于什么?它完全没用吗?,.net,caching,.net,Caching,首先,我知道该做什么(System.Runtime.Caching命名空间)。我的问题是它为什么存在 这里是该方法的声明: public override Object AddOrGetExisting( string key, Object value, CacheItemPolicy policy, string regionName ) 让我困惑的是参数“值”如果每次调用时都准备好了一个值,我就不需要缓存-我只使用最新的值,而不是缓存中的值 我能想象的唯一
public override Object AddOrGetExisting(
string key,
Object value,
CacheItemPolicy policy,
string regionName
)
让我困惑的是参数“值”如果每次调用时都准备好了一个值,我就不需要缓存-我只使用最新的值,而不是缓存中的值
我能想象的唯一用法是提供Lazy作为值。但是,如果这是唯一有用的用法,为什么不将Func valueProvider
作为参数接收呢
PS:实际上,ObjectCache的整个API看起来更像一个字典,而不是一个现成的缓存。要使用它,我必须创建一个包装器并编写大量附加逻辑,包括同步(我说许多类似的实现都采用缓存进行正常使用)——这不是我期望从BCL缓存实现中得到的。这是我唯一关心的吗?看起来你并不孤单: