public void AddCache(IServiceCollection serviceCollection, IConfiguration configuration) { var memoryCache = new MemoryCacheConfiguration(); serviceCollection.AddMemoryCache(); serviceCollection.AddSingleton <ICacheManager, MemoryCacheManager>(); configuration.Bind(nameof(MemoryCacheConfiguration), memoryCache); serviceCollection.AddSingleton(memoryCache); }
public MemoryCacheService(IMemoryCache memoryCache, IOptions <MemoryCacheConfiguration> cacheConfig) { _memoryCache = memoryCache; _cacheConfig = cacheConfig.Value; if (_cacheConfig != null) { _cacheOptions = new MemoryCacheEntryOptions { AbsoluteExpiration = DateTime.Now.AddHours(_cacheConfig.AbsoluteExpirationInHours), Priority = CacheItemPriority.High, SlidingExpiration = TimeSpan.FromMinutes(_cacheConfig.SlidingExpirationInMinutes) }; } }
public MemoryCacheManager(IMemoryCache memoryCache, MemoryCacheConfiguration configuration) { _memoryCache = memoryCache; _configuration = configuration; }