public CacheMethodTaken TryGetScoped <TValue>(String key, out ScopedValue <TValue> scopedValue) { var level1Result = this.level1.TryGetScoped(key, out scopedValue); if (level1Result.HasFlag(CacheMethodTaken.Get)) { return(level1Result); } var level2Result = this.level2.TryGetScoped(key, out scopedValue); if (level2Result.HasFlag(CacheMethodTaken.Get)) { this.level1.SetScoped(key, scopedValue.Value, scopedValue.ValueTimestamp); } return(level2Result); }
public bool IsInScope <TValue>(ScopedValue <TValue> scopedValue) { return(this.Method.HasFlag(CacheMethod.IgnoreMinimumValueTimestamp) || scopedValue.ValueTimestamp >= this.MinimumValueTimestamp); }
public CacheMethodTaken TryGetScoped <TValue>(string key, out ScopedValue <TValue> scopedValue) { scopedValue = default; return(CacheMethodTaken.None); }