示例#1
0
        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);
        }
示例#2
0
 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;
 }