using System; using Microsoft.Extensions.Caching.Memory; namespace IStation { internal sealed partial class SharedMemoryCache : IMemoryCacheDirect { /// /// If key not found, sets a new cache item by key, function and optional eviction /// /// A unique identifier for the cache entry to insert /// A function to execute to get the value for the cache entry /// (Optional) An object that contains eviction details for the cache entry public void Add(string key, Func valueFunction, int? Seconds) { if (!this.HasKey(key)) { this.Set(key, valueFunction, Seconds); } } /// /// If key not found, sets a new cache item by key, value and optional eviction /// /// A unique identifier for the cache entry to insert /// A function to execute to get the value for the cache entry /// (Optional) An object that contains eviction details for the cache entry public void Add(string key, object value, int? Seconds) { if (!this.HasKey(key)) { this.Set(key, value, Seconds); } } } }