来自doc
Add(CacheItem,CacheItemPolicy):在派生类中重写时,尝试将缓存条目作为CacheItem实例插入缓存中,并添加有关如何逐出该条目的详细信息.[1]
-
Set(CacheItem,CacheItemPolicy):在派生类中重写时,将缓存条目作为CacheItem实例插入缓存中,指定有关如何逐出该条目的信息.[2]
我看到措辞(尝试)和签名(set是一个sub,add返回一个布尔值)没有什么区别,但是我不确定我应该使用哪一个,以及两者之间是否真的有什么不同.
R.C*_*R.C 33
主要区别在于该Add()方法尝试插入缓存而不使用相同的密钥覆盖现有缓存条目.
虽然该Set()方法将覆盖具有相同密钥的现有缓存条目.[但是,如果项目的密钥不存在,则插入将作为新的缓存条目完成].
以上是其功能方面的差异.
句法差异:
一个重要的语法差异是该Add()方法返回一个布尔值,true如果插入成功,或者false如果缓存中已经有一个与项目具有相同键的条目.该Set()方法具有void返回类型.
最后一点,Add()方法的内部实现实际上调用了相应的AddOrGetExisting()方法版本.
 public virtual bool Add(CacheItem item, CacheItemPolicy policy)
{
    return this.AddOrGetExisting(item, policy) == null;
}
| 归档时间: | 
 | 
| 查看次数: | 3735 次 | 
| 最近记录: |