コード例 #1
0
        /// <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);
        }
コード例 #2
0
 public void Push(ISyncOrAsyncResourceResolver source)
 {
     _sources.Insert(0, source);
 }
コード例 #3
0
 public void RemoveSource(ISyncOrAsyncResourceResolver source)
 {
     _sources.Remove(source);
 }
コード例 #4
0
 public void AddSource(ISyncOrAsyncResourceResolver source)
 {
     _sources.Add(source);
 }