Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
 public bool IsInScope <TValue>(ScopedValue <TValue> scopedValue)
 {
     return(this.Method.HasFlag(CacheMethod.IgnoreMinimumValueTimestamp) ||
            scopedValue.ValueTimestamp >= this.MinimumValueTimestamp);
 }
Exemplo n.º 3
0
 public CacheMethodTaken TryGetScoped <TValue>(string key, out ScopedValue <TValue> scopedValue)
 {
     scopedValue = default;
     return(CacheMethodTaken.None);
 }