示例#1
0
        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);
        }
示例#2
0
 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;
 }