Esempio n. 1
0
        public void Save()
        {
            string file = System.IO.Path.Combine(_folder, "cache.xml");

            lock (_entries) {
                var data = new ImageCacheData()
                {
                    Entries = _entries.Values.ToList()
                };
                using (var fs = new System.IO.FileStream(file, System.IO.FileMode.Create))
                    Util.Serialize(data, fs);
            }
        }
Esempio n. 2
0
        public void Save()
        {
            string         file = Path.Combine(_folder, "cache.xml");
            ImageCacheData data;

            lock (_entryLock) {
                data = new ImageCacheData()
                {
                    Entries = _entries.Values.ToList()
                };
            }

            using (var fs = new FileStream(file, FileMode.Create))
            {
                Util.Serialize(data, fs);
            }
        }
Esempio n. 3
0
        public ImageCache(string folder)
        {
            System.IO.Directory.CreateDirectory(folder);
            string file = System.IO.Path.Combine(folder, "cache.xml");

            if (System.IO.File.Exists(file))
            {
                ImageCacheData data = Util.Deserialize <ImageCacheData>(file);
                _entries = data.Entries.ToDictionary(e => e.Url, e => e, StringComparer.InvariantCultureIgnoreCase);
            }
            else
            {
                _entries = new Dictionary <string, ImageCacheEntry>(StringComparer.InvariantCultureIgnoreCase);
            }
            _usedFiles = new HashSet <string>(_entries.Select(e => e.Value.File), StringComparer.InvariantCultureIgnoreCase);
            _folder    = folder;
        }