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); } }
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); } }
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; }