From 1c47b358eb3e1b5326d703e8cc066878a131f746 Mon Sep 17 00:00:00 2001 From: ClemensFischer Date: Sat, 29 Mar 2025 18:53:23 +0100 Subject: [PATCH] Update ImageFileCache.cs --- MapControl/Shared/ImageFileCache.cs | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/MapControl/Shared/ImageFileCache.cs b/MapControl/Shared/ImageFileCache.cs index 9d752ae5..a5558049 100644 --- a/MapControl/Shared/ImageFileCache.cs +++ b/MapControl/Shared/ImageFileCache.cs @@ -11,12 +11,8 @@ using System.Threading.Tasks; namespace MapControl.Caching { /// - /// IDistributedCache implementation based on local files. - ///
- /// Do not create an ImageFileCache instance that operates on a directory - /// which contains other files than downloaded map tile images. - /// ImageFileCache may unintentionally delete these files. - /// + /// IDistributedCache implementation that creates a single file per cache entry. + /// The cache expiration time is stored in the file's CreationTime property. ///
public sealed class ImageFileCache : IDistributedCache, IDisposable { @@ -319,7 +315,8 @@ namespace MapControl.Caching { deletedFileCount = directory.EnumerateDirectories().Sum(ScanDirectory); - foreach (var file in directory.EnumerateFiles().Where(f => f.CreationTime <= DateTime.Now)) + foreach (var file in directory.EnumerateFiles() + .Where(f => f.CreationTime > f.LastWriteTime && f.CreationTime <= DateTime.Now)) { file.Delete(); deletedFileCount++;