From 2b2e8aa308c699c5b6e62f9db8e3ac41eee091cf Mon Sep 17 00:00:00 2001 From: Vladimir Smirnov Date: Fri, 2 Jul 2021 01:53:32 +0300 Subject: [PATCH] fix: correctly invalidate template cache on files renaming in the WatchingResolvePathTemplateManager --- .../Templating/WatchingResolvePathTemplateManager.cs | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/RazorEngine.NetCore/Templating/WatchingResolvePathTemplateManager.cs b/RazorEngine.NetCore/Templating/WatchingResolvePathTemplateManager.cs index 7aff5d48..757939dc 100644 --- a/RazorEngine.NetCore/Templating/WatchingResolvePathTemplateManager.cs +++ b/RazorEngine.NetCore/Templating/WatchingResolvePathTemplateManager.cs @@ -77,14 +77,19 @@ public WatchingResolvePathTemplateManager(IEnumerable layoutRoot, Invali void watcher_Changed(object sender, FileSystemEventArgs e) { - cache.InvalidateCache(new FullPathTemplateKey(e.Name, e.FullPath, ResolveType.Global, null)); + InvalidateTemplateCache(e.Name, e.FullPath); //queue.Enqueue(e); } void watcher_Renamed(object sender, RenamedEventArgs e) { - watcher_Changed(sender, new FileSystemEventArgs(WatcherChangeTypes.Deleted, e.OldFullPath, e.OldName)); - watcher_Changed(sender, new FileSystemEventArgs(WatcherChangeTypes.Created, e.FullPath, e.Name)); + InvalidateTemplateCache(e.OldName, e.OldFullPath); + InvalidateTemplateCache(e.Name, e.FullPath); + } + + private void InvalidateTemplateCache(string name, string fullPath) + { + cache.InvalidateCache(new FullPathTemplateKey(name, fullPath, ResolveType.Global, null)); } ///