Я использую FileSystemWatcher
(в веб-приложении ASP.NET) для отслеживания изменений в файле. Наблюдатель настраивается в конструкторе класса Singleton, например:
private SingletonConstructor()
{
var fileToWatch = "{absolute path to file}";
var fsw = new FileSystemWatcher(
Path.GetDirectoryName(fileToWatch),
Path.GetFileName(fileToWatch));
fsw.Changed += OnFileChanged;
fsw.EnableRaisingEvents = true;
}
private void OnFileChanged(object sender, FileSystemEventArgs e)
{
// process file...
}
Пока все работает нормально. Но у меня вопрос:
Безопасно ли настраивать наблюдатель с использованием локальной переменной ( var fsw
)? Или мне следует сохранить ссылку на него в частном поле, чтобы предотвратить сборку мусора?