Пример #1
0
 public ImageCache(
     IBlobCacheFactory cacheFactory,
     IEnvironment environment,
     Lazy <IImageDownloader> imageDownloader)
     : this(CreateCache(cacheFactory, environment), imageDownloader)
 {
 }
Пример #2
0
        static IObservable <IBlobCache> CreateCache(IBlobCacheFactory cacheFactory, IEnvironment environment)
        {
            return(Observable.Defer(() =>
            {
                var imageCacheFilePath = Path.Combine(environment.GetLocalGitHubApplicationDataPath(), ImageCacheFileName);
                var blobCache = cacheFactory.CreateBlobCache(imageCacheFilePath);

                return VacuumIfNecessary(blobCache).ContinueAfter(() => Observable.Return(blobCache));
            })
                   .PublishLast()
                   .RefCount());
        }