CachingConfiguration.cs 1.0 KB

1234567891011121314151617181920212223242526272829303132333435
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Collections.Immutable;
  4. using Abp.Configuration.Startup;
  5. namespace Abp.Runtime.Caching.Configuration
  6. {
  7. internal class CachingConfiguration : ICachingConfiguration
  8. {
  9. public IAbpStartupConfiguration AbpConfiguration { get; private set; }
  10. public IReadOnlyList<ICacheConfigurator> Configurators
  11. {
  12. get { return _configurators.ToImmutableList(); }
  13. }
  14. private readonly List<ICacheConfigurator> _configurators;
  15. public CachingConfiguration(IAbpStartupConfiguration abpConfiguration)
  16. {
  17. AbpConfiguration = abpConfiguration;
  18. _configurators = new List<ICacheConfigurator>();
  19. }
  20. public void ConfigureAll(Action<ICache> initAction)
  21. {
  22. _configurators.Add(new CacheConfigurator(initAction));
  23. }
  24. public void Configure(string cacheName, Action<ICache> initAction)
  25. {
  26. _configurators.Add(new CacheConfigurator(cacheName, initAction));
  27. }
  28. }
  29. }