From befe43b905eb93ee7596329fe310e1d2479bdfc0 Mon Sep 17 00:00:00 2001 From: Shuai Date: Tue, 18 Oct 2022 14:02:33 +0800 Subject: [PATCH 1/2] init --- src/Neo/Plugins/Plugin.cs | 17 +++-------------- 1 file changed, 3 insertions(+), 14 deletions(-) diff --git a/src/Neo/Plugins/Plugin.cs b/src/Neo/Plugins/Plugin.cs index fa8818d8ec..f7fd9d4d18 100644 --- a/src/Neo/Plugins/Plugin.cs +++ b/src/Neo/Plugins/Plugin.cs @@ -73,10 +73,11 @@ static Plugin() { EnableRaisingEvents = true, IncludeSubdirectories = true, - NotifyFilter = NotifyFilters.CreationTime | NotifyFilters.LastWrite | NotifyFilters.Size, + NotifyFilter = NotifyFilters.FileName | NotifyFilters.DirectoryName | NotifyFilters.CreationTime | NotifyFilters.LastWrite | NotifyFilters.Size, }; configWatcher.Changed += ConfigWatcher_Changed; configWatcher.Created += ConfigWatcher_Changed; + configWatcher.Renamed += ConfigWatcher_Changed; AppDomain.CurrentDomain.AssemblyResolve += CurrentDomain_AssemblyResolve; } @@ -102,20 +103,8 @@ private static void ConfigWatcher_Changed(object sender, FileSystemEventArgs e) switch (GetExtension(e.Name)) { case ".json": - try - { - Plugins.FirstOrDefault(p => p.ConfigFile == e.FullPath)?.Configure(); - } - catch (FormatException) { } - break; case ".dll": - if (e.ChangeType != WatcherChangeTypes.Created) return; - if (GetDirectoryName(GetDirectoryName(e.FullPath)) != PluginsDirectory) return; - try - { - LoadPlugin(Assembly.Load(File.ReadAllBytes(e.FullPath))); - } - catch { } + Utility.Log(nameof(Plugin), LogLevel.Warning, $"File {e.Name} is {e.ChangeType}, please restart node."); break; } } From 5ebcfae3499c4c241f3b3e16b6503ec0208cf284 Mon Sep 17 00:00:00 2001 From: Shuai Date: Wed, 19 Oct 2022 16:34:45 +0800 Subject: [PATCH 2/2] deleted --- src/Neo/Plugins/Plugin.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Neo/Plugins/Plugin.cs b/src/Neo/Plugins/Plugin.cs index f7fd9d4d18..c3c66ced8a 100644 --- a/src/Neo/Plugins/Plugin.cs +++ b/src/Neo/Plugins/Plugin.cs @@ -78,6 +78,7 @@ static Plugin() configWatcher.Changed += ConfigWatcher_Changed; configWatcher.Created += ConfigWatcher_Changed; configWatcher.Renamed += ConfigWatcher_Changed; + configWatcher.Deleted += ConfigWatcher_Changed; AppDomain.CurrentDomain.AssemblyResolve += CurrentDomain_AssemblyResolve; }