public DistributedTreeCache( IDistributedCache cache, ITreeCacheKeyResolver cacheKeyResolver, IEnumerable <INavigationTreeBuilder> treeBuilders, IOptions <TreeCacheOptions> optionsAccessor = null) { _cache = cache ?? throw new ArgumentNullException(nameof(cache)); _options = optionsAccessor?.Value; if (_options == null) { _options = new TreeCacheOptions(); //default } _cacheKeyResolver = cacheKeyResolver; _treeBuilders = treeBuilders; }
public NavigationTreeBuilderService( IEnumerable<INavigationTreeBuilder> treeBuilders, ITreeCacheKeyResolver cacheKeyResolver, IOptions<NavigationOptions> navigationOptionsAccessor, ITreeCache treeCache = null ) { if (treeBuilders == null) { throw new ArgumentNullException(nameof(treeBuilders)); } if (navigationOptionsAccessor == null) { throw new ArgumentNullException(nameof(navigationOptionsAccessor)); } this.cacheKeyResolver = cacheKeyResolver; this.treeCache = treeCache ?? new NotCachedTreeCache(); builders = treeBuilders; navOptions = navigationOptionsAccessor.Value; }
public NavigationTreeBuilderService( IEnumerable <INavigationTreeBuilder> treeBuilders, ITreeCacheKeyResolver cacheKeyResolver, IOptions <NavigationOptions> navigationOptionsAccessor, ITreeCache treeCache = null ) { if (navigationOptionsAccessor == null) { throw new ArgumentNullException(nameof(navigationOptionsAccessor)); } _cacheKeyResolver = cacheKeyResolver; _treeCache = treeCache ?? new NotCachedTreeCache(); _builders = treeBuilders ?? throw new ArgumentNullException(nameof(treeBuilders)); _navOptions = navigationOptionsAccessor.Value; }