/// <summary>Creates a new artifact resolver that caches loaded resources in memory.</summary> /// <param name="source">Resolver from which artifacts are initially resolved on a cache miss.</param> /// <param name="cacheDuration">Default expiration time of a cache entry, in seconds.</param> #pragma warning disable CS0618 // Type or member is obsolete public CachedResolver(ISyncOrAsyncResourceResolver source, int cacheDuration = DEFAULT_CACHE_DURATION) { Source = source as IResourceResolver; #pragma warning restore CS0618 // Type or member is obsolete AsyncResolver = source.AsAsync(); CacheDuration = cacheDuration; _resourcesByUri = new Cache <Resource>(id => InternalResolveByUri(id), CacheDuration); _resourcesByCanonical = new Cache <Resource>(id => InternalResolveByCanonicalUri(id), CacheDuration); }
public void Push(ISyncOrAsyncResourceResolver source) { _sources.Insert(0, source); }
public void RemoveSource(ISyncOrAsyncResourceResolver source) { _sources.Remove(source); }
public void AddSource(ISyncOrAsyncResourceResolver source) { _sources.Add(source); }