using Abp.Dependency; using Abp.Runtime.Caching.Configuration; using Castle.Core.Logging; namespace Abp.Runtime.Caching.Memory { /// /// Implements to work with MemoryCache. /// public class AbpMemoryCacheManager : CacheManagerBase { public ILogger Logger { get; set; } /// /// Constructor. /// public AbpMemoryCacheManager(IIocManager iocManager, ICachingConfiguration configuration) : base(iocManager, configuration) { Logger = NullLogger.Instance; } protected override ICache CreateCacheImplementation(string name) { return new AbpMemoryCache(name) { Logger = Logger }; } protected override void DisposeCaches() { foreach (var cache in Caches.Values) { cache.Dispose(); } } } }