private void hostingWatcher_Changed(FileSystemEventArgs e) { var content = File.ReadAllText(e.FullPath); Hosting = JsonConvert.DeserializeObject <Hosting>(content); if (Hosting == null) { throw new ArgumentException("Settings file invalid: " + e.FullPath); } if (_settingsWatcher != null) { _settingsWatcher.Dispose(); } var settingsPath = Combine(_settingsFilePath); _settingsWatcher = new Mark.FileWatcher.FileWatcher(settingsPath); _settingsWatcher.AddChangedListener(settingsWatcher, true); }
public void Dispose() { if (_hostingWatcher != null) { _hostingWatcher.Changed -= hostingWatcher_Changed; _hostingWatcher.Dispose(); _hostingWatcher = null; } if (_settingsWatcher != null) { _settingsWatcher.Changed -= settingsWatcher; _settingsWatcher.Dispose(); _settingsWatcher = null; } _changed = null; }